패리티 정렬(브릭 정렬)을 위한 C/C++ 프로그램

WBOY
풀어 주다: 2023-09-14 17:53:02
앞으로
1293명이 탐색했습니다.

패리티 정렬(브릭 정렬)을 위한 C/C++ 프로그램

패리티 정렬 알고리즘은 브릭 정렬이라고도 하며 버블 정렬과 유사한 정렬 기술입니다. 이 정렬 기술은 홀수 단계와 짝수 단계의 두 단계로 나누어지며 모든 요소가 정렬될 때까지 각 반복에서 동시에 수행됩니다.

이 프로그래밍 기술의홀수 단계는 버블 정렬과 유사하지만 홀수 인덱스가 있는 요소만 정렬합니다.

마찬가지로짝수 단계는 짝수 인덱스가 있는 요소만 정렬합니다.

이 개념을 더 명확하게 설명하기 위해 예를 들어 보겠습니다.

Input: a[]={3,5,7,6,1,4,2} Output: 1 2 3 4 5 6 7
로그인 후 복사

설명

브릭 정렬이라고도 알려진 짝수-홀수 정렬은 병렬 처리를 염두에 두고 설계된 간단한 정렬 기술입니다. 비교를 사용하여 요소를 정렬합니다. 모든 홀짝수 쌍에 대해 연령과 요소를 비교합니다. 쌍의 순서가 잘못된 경우 순서를 바꾸어 올바르게 만듭니다. 이 프로세스는 목록이 정렬될 때까지 계속됩니다. 병렬 처리를 위해 개발되었기 때문에 프로세서당 하나의 값을 처리할 수 있으며 두 프로세스 모두 스왑 비교 방식의 작업을 동시에 수행합니다. 이 알고리즘은 원래 그러한 프로세서에서 제안되었으며 그러한 프로세서에서 효율적인 것으로 입증되었습니다.

#include  #include  #define MAX 7 void swap(int *,int *); void oddeven_sort(int *); int main() { int a[]={3,5,7,6,1,4,2}, i; oddeven_sort(a); for (i = 0;i < MAX;i++) { printf(" %d", a[i]); } } void swap(int * x, int * y) { int temp; temp = *x; *x = *y; *y = temp; } void oddeven_sort(int * x) { int sort = 0, i; while (!sort) { sort = 1; for (i = 1;i < MAX;i += 2) { if (x[i] > x[i+1]) { swap(&x[i], &x[i+1]); sort = 0; } } for (i = 0;i < MAX - 1;i += 2) { if (x[i] > x[i + 1]) { swap(&x[i], &x[i + 1]); sort = 0; } } } }
로그인 후 복사

출력

1234567
로그인 후 복사

위 내용은 패리티 정렬(브릭 정렬)을 위한 C/C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!