ホームページ  >  記事  >  バックエンド開発  >  C言語で大から小へのバブルソートを実装する方法

C言語で大から小へのバブルソートを実装する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-06-08 17:38:319687ブラウズ

C言語で大から小へのバブルソートを実装する方法

#C 言語で大から小へのバブル ソートを実装するにはどうすればよいですか?

C 言語のバブル ソート方法:

最初に最初の数値を最大のものとして選択し、次に数値をペアで比較して 2 つの数値の差を求めます。それらの最大値を順に比較します。具体的なコード実装は次のとおりです。

#include <iostream>
#include <time.h>
using namespace std;
void srandData(int *, int );//产生随机数的函数
void bubbleSort(int *, int );//冒泡排序具体实现函数
void swap(int *, int *);//两个数字实现交换的函数
void display(int *, int );//在屏幕输出结果函数
int main()
{
const int N = 10;//定义常数
int arr[N];//定义数组
srandData(arr, N);
bubbleSort(arr, N);
display(arr, N);
return 0;
}
void srandData(int *a, int n)
{
srand(time(NULL));
for(int i = 0; i < n; i++)
{
a[i] = rand() % 50;//取50以下的数字
cout << a[i] << " ";
}
cout << endl;
}
void swap(int *b, int *c)
{
int temp = *c;
*c = *b;
*b = temp;
}
void bubbleSort(int *a, int n)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n - i - 1; j++)
{
if(a[j] < a[j + 1])
{
swap(&a[j], &a[j + 1]);//两者交换
}
}
}
}
void display(int *d, int n)
{
for(int i = 0; i < n; i++)
{
cout << d[i] << " ";
}
cout << endl;
}

推奨チュートリアル: 「C ビデオ チュートリアル

以上がC言語で大から小へのバブルソートを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。