小兔网

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语言冒泡排序怎样实现从大到小的知识。速戳>>知识兔学习精品课!