> 백엔드 개발 > C++ > 본문

C++ 프로그램: 배열 요소를 내림차순으로 정렬

WBOY
풀어 주다: 2023-09-09 19:09:03
앞으로
1414명이 탐색했습니다.

C++ 프로그램: 배열 요소를 내림차순으로 정렬

데이터 항목을 올바른 형식으로 배열하는 것은 일부 문제를 해결하는 데 있어 중요한 작업입니다.

효율적인 방법은 요소 정렬 문제가 가장 일반적으로 논의되는 문제 중 하나입니다. 편곡 문제. 이번 글에서는 배열 요소를 정렬하는 방법을 살펴보겠습니다. 값을 기준으로 내림차순으로 정렬합니다(C++).

이 필드에는 숫자 또는 숫자가 아닌 항목을 정렬하기 위한 다양한 정렬 알고리즘이 있습니다

주어진 순서대로 요소. 이 기사에서는 두 가지 간단한 방법만 소개하겠습니다. 정렬. 버블 정렬과 선택 정렬을 하나씩 살펴보겠습니다. 알고리즘 및 C++ 구현 코드.

버블 정렬 기술을 사용하여 내림차순으로 배열 정렬

버블 정렬 기술은 가장 일반적이고 간단한 정렬 방법 중 하나입니다.

배열의 요소. 이 방법은 두 개의 인접한 요소가 올바른지 확인합니다. 순서를 정하고 다음 요소로 건너뛰세요. 그렇지 않으면 올바른 위치에 배치하기 위해 서로 바꿔서 배치하세요. 다른 요소를 순서대로 정렬한 후 다음 요소로 건너뛰고, 그렇지 않으면 올바른 위치에 배치하도록 교체합니다. 그런 다음 오른쪽으로 이동하여 다른 값 쌍에 대해서도 동일한 작업을 수행합니다. 순서대로 정리했습니다. 그런 다음 오른쪽으로 이동하여 다른 값 쌍에 대해서도 동일한 작업을 수행합니다. 거품 정렬 기술에는 여러 단계가 있으며, 각 단계가 끝나면 요소가 배치됩니다. 예상 위치를 수정하세요. 버블정렬 기법의 알고리즘을 살펴보자.

알고리즘

  • 배열 A와 그 크기 n을 입력으로 읽습니다
  • 0에서 n-1까지의 i 범위에 대해 다음을 실행합니다.
    • 0에서 n - 2 사이의 j에 대해 다음을 수행하세요.
      • A[j]
      • A[j]와 A[j + 1]을 교환
  • 종료
  • 종료
  • 종료
  • 으아악

    출력

    으아악

    선택 정렬 기술을 사용하여 내림차순으로 배열 정렬

    선택 정렬 기술에서는 최소 요소 또는 최대 요소를 찾습니다. 인덱스 i부터 시작하여 이 배열의 끝까지 주어진 배열의 요소입니다. 가장 큰 요소를 찾으십시오. 각 단계에서 인덱스 i부터 끝까지 최소값을 찾은 다음 필요한 위치에 요소를 배치하고 다음으로 가장 큰 요소를 다시 검색합니다. 인덱스 i + 1 등의 단계가 완료되면 전체 배열이 정렬됩니다. 인덱스 i + 1 등 이 단계를 완료하면 전체 배열이 정렬됩니다. 이에 따라.

    알고리즘

    • 배열 A와 그 크기 n을 입력으로 읽습니다
    • 0에서 n-1까지의 i 범위에 대해 다음을 실행합니다.
      • ind := i부터 n까지 A의 가장 큰 요소 색인
      • A[ i ]
      • A[ i ] 및 A[ ind ] 교환
    • 종료
  • 종료
  • 으아악

    출력

    으아악

    결론

    정렬 문제는 숫자나 다른 값을 배열하는 기본적인 문제입니다 ​​

    주어진 순열 논리에서. 여기에는 다양한 정렬 기술이 있습니다. 이해하고 구현하기 구현되고 이해하기 쉽습니다. 이 두 가지 방법은 버블 정렬 기법과 선택 정렬 기술. 이 두 가지 방법을 사용하여 데이터 세트를 정렬했습니다. 내림차순(증가하지 않음) 정렬. 이 두 가지 정렬 방법은 그다지 효율적이지 않습니다. 시간을 존중하되 이해하기 쉽습니다. 두 방법 모두 O(n2) 시간이 필요합니다. 시간의 양. 여기서 n은 입력 크기입니다. 간단한 방법으로 버블 정렬을 더 빠르게 만들 수 있습니다. 어떤 단계에서도 스왑이 없는지 확인하세요. 다음 연속 단계는 발생하지 않습니다. 무엇이든 바꾸세요.

    위 내용은 C++ 프로그램: 배열 요소를 내림차순으로 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:tutorialspoint.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿