Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

버블 정렬을 사용하여 주어진 숫자 목록을 오름차순으로 정렬하는 C 프로그램

<시간/>

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정렬 후 목록의 요소는 다음과 같습니다.