微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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视频教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐