`` c
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & lttime.h & gt
#define MAX_SIZE 100
//버블 정렬 기능
Void bubble_sort(int *arr, int size) {
Int I, j, temp
For(I = 0;; 나 & ltsize-1; I++) {
For(j = 0;; J & ltsize-I-1; J++) {
If (arr [j] > Arr[j+ 1]) {
Temp = arr [j];
Arr [j] = arr [j+1];
Arr [j+1] = temp;
}
}
}
}
Int main() {
Intarr [max _ size];
Int I, size = 0;;
FILE * FP
//생성 100 개의 난수
Srand (시간 (null));
For(I = 0;; 나 & ltMAX _ SIZEi++) {
Arr [I] = rand ()%1000;
Size++;+;
}
//난수를 파일에 저장합니다.
Fp = fopen("random_numbers.txt ","w ");
If (fp == NULL) {
Printf ("파일을 열 수 없습니다. \ n ");
1;
}
For(I = 0;; 나< 사이즈 I++) {
Fprintf(fp, "%d\n", arr [I]);
}
Fclose (FP);
//파일에서 데이터를 읽고 정렬합니다.
Int * ptr = (int *) malloc (size * sizeof (int));
Fp = fopen("random_numbers.txt ","r ");
If (fp == NULL) {
Printf ("파일을 열 수 없습니다. \ n ");
1;
}
For(I = 0;; 나< 사이즈 I++) {
Fscanf(fp,' %d', ptr+I);
}
Fclose (FP);
Bubble_sort(ptr, size);
//출력 정렬 결과
Printf ("정렬 배열: \ n");
For(I = 0;; 나< 사이즈 I++) {
Printf ("%d", * (ptr+I));
}
Printf ("\ n");
무료 (PTR);
0 을 반환합니다
}
``````````````````````
다음은 버블링 정렬 프로세스를 별도의 함수로 작성하고 main 함수에서 이 함수를 호출하여 입력 데이터를 정렬하는 예제 프로그램입니다.
`` c
# include & ltstdio.h & gt
#define MAX_SIZE 100
//버블 정렬 기능
Void bubble_sort(int *arr, int size) {
Int I, j, temp
For(I = 0;; 나 & ltsize-1; I++) {
For(j = 0;; J & ltsize-I-1; J++) {
If (arr [j] > Arr[j+ 1]) {
Temp = arr [j];
Arr [j] = arr [j+1];
Arr [j+1] = temp;
}
}
}
}
Int main() {
Intarr [max _ size];
Int I, size = 0;;
//입력 데이터 읽기
Printf ("입력 요소 수:");
Scanf("%d ",& 크기);
Printf ("입력 %d 개 요소: \n", size);
For(I = 0;; 나< 사이즈 I++) {
Scanf("%d ",arr+I);
}
//데이터 정렬
Bubble_sort(arr, size);
//출력 정렬 결과
Printf ("정렬 배열: \ n");
For(I = 0;; 나< 사이즈 I++) {
Printf ("%d", * (arr+I));
}
Printf ("\ n");
0 을 반환합니다
}