ホームページ >バックエンド開発 >C++ >バブルソートアルゴリズムを使用して、指定された数値リストを昇順にソートするCプログラム

バブルソートアルゴリズムを使用して、指定された数値リストを昇順にソートするCプログラム

王林
王林転載
2023-09-23 13:01:021182ブラウズ

バブルソートアルゴリズムを使用して、指定された数値リストを昇順にソートするCプログラム

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] = temp

Example

次は、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 サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。