首頁 >後端開發 >C#.Net教程 >c語言冒泡排序怎樣實現從大到小

c語言冒泡排序怎樣實現從大到小

coldplay.xixi
coldplay.xixi原創
2020-06-08 17:38:319827瀏覽

c語言冒泡排序怎樣實現從大到小

c語言冒泡排序怎麼實現從大到小?

c語言冒泡排序的方法:

先選定第一個數字為最大再對數字兩兩進行比較,得到兩者之間的最大值,依序比較。具體程式碼實作如下:

#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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn