C 프로그래밍 언어에서 버블 정렬은 가장 간단한 정렬 기술이며 교환 정렬이라고도 합니다.
버블 정렬 절차
-
첫 번째 요소와 목록의 나머지 요소를 비교하고 순서가 맞지 않으면 교환(교체)합니다.
-
모든 요소가 정렬될 때까지 목록의 다른 요소에 대해 동일한 작업을 반복합니다.
알고리즘
다음은 버블 정렬 기술을 사용하여 주어진 숫자 목록을 오름차순으로 정렬하는 알고리즘입니다 -
1단계 - 시작
2단계 − 목록(배열), 숫자 가져오기
3단계 - 읽기 목록(목록, 번호)
4단계 - 인쇄 목록(목록, 번호)
5단계 - bub_sort(목록, 번호)
6단계 - 인쇄 목록(목록, 번호)
읽기 목록(목록, 번호)
7단계 - 그만
1. j =0에서 num2까지. 읽기 목록[j].
인쇄 목록(목록, 번호)
1. j =0에서 num2까지. 목록 작성[j].
bub_sort(list,num)
1. i =0에서 num2까지. j =0에서 (num – i)3까지. if( 목록[j]> 목록[j+1])4. swapList(목록의 주소[j], 목록의 주소[j+1])
swapList(목록의 주소[j], 목록의 주소[j+1])
1. temp =list[j]2의 값. list[j]의 값 =list[j+1]3의 값. list[j+1]의 값 =temp
예시
다음은 버블 정렬 기술을 사용하여 주어진 숫자 목록을 오름차순으로 정렬하는 C 프로그램입니다. -
#include#define MAX 10void swapList(int *m,int *n){ int temp; 온도 =*m; *m =*n; *n =temp;}/* 버블 정렬을 위한 함수 */void bub_sort(int list[], int n){ int i,j; for(i=0;i<(n-1);i++) for(j=0;j<(n-(i+1));j++) if(list[j]> list[j+1]) 스왑리스트(&리스트[j],&리스트[j+1]); } 무효 읽기 목록(int 목록[],int n){ int j; printf("\n요소를 입력하세요:\n"); for(j=0;j
출력
위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -
요소의 수를 입력하십시오10요소를 입력하십시오:11234513635691022정렬 전 목록의 요소는 다음과 같습니다.11 23 45 1 3 6 35 69 10 22정렬 후 목록의 요소는 다음과 같습니다.