C プログラミング言語では、バブル ソートは最も単純なソート手法であり、交換ソートとも呼ばれます。
リスト内の最初の要素と残りの要素を比較し、順序が異なっている場合はそれらを入れ替えます。
すべての要素が並べ替えられるまで、リスト内の他の要素に対して同じ操作リストを繰り返します。
ステップ 1 - 開始
ステップ 2 - リスト (配列)、数値を取得します
ステップ 3- readlist(list,num)
ステップ 4 - printlist(list,num)
ステップ 5 - bub_sort(list,num)
ステップ 6 - printlist(list, num)
readlist (list, num)
ステップ7 -停止
1. for j = 0 to num 2. read list[j].リスト(リスト、番号)を印刷します
1. for j =0 to num 2. write list[j].bub_sort(リスト、番号)
1. for i = 0 to num 2. for j =0 to (num – i) 3. if( list[j] > list[j+1]) 4. swapList( address of list[j], address of list[j+1])swapList(リスト[j]のアドレス, リスト[j 1]のアドレス)
1. temp = value at list[j] 2. value at list[j] = value at list[j+1] 3. value at list[j+1] = tempExample次は、C プログラムを使用して、指定された数値リストを並べ替える例です。バブルソート手法を使用した昇順
#デモ
#include <stdio.h> #define MAX 10 void swapList(int *m,int *n){ int temp; temp = *m; *m = *n; *n = temp; } /* Function for Bubble Sort */ 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]) swapList(&list[j],&list[j+1]); } void readlist(int list[],int n){ int j; printf("</p><p>Enter the elements: </p><p>"); for(j=0;j<n;j++) scanf("%d",&list[j]); } /* Showing the contents of the list */ void printlist(int list[],int n){ int j; for(j=0;j<n;j++) printf("%d\t",list[j]); } void main(){ int list[MAX], num; printf(" Enter the number of elements </p><p>"); scanf("%d",&num); readlist(list,num); printf("</p><p></p><p>Elements in the list before sorting are:</p><p>"); printlist(list,num); bub_sort(list,num); printf("</p><p></p><p>Elements in the list after sorting are:</p><p>"); printlist(list,num); }#出力
##上記のプログラムを実行すると、次の結果が生成されます-
Enter the number of elements 10 Enter the elements: 11 23 45 1 3 6 35 69 10 22 Elements in the list before sorting are: 11 23 45 1 3 6 35 69 10 22 Elements in the list after sorting are: 1 3 6 10 11 22 23 35 45 69
以上がバブルソートアルゴリズムを使用して、指定された数値リストを昇順にソートするCプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。