A.Shell排序
B.堆排序
C.冒泡排序
D.快速排序
请编写一个函数void bubble(double data[],int length),其中data是一维数组,存放比较的数据,length是数组中存放元素的个数,用冒泡法将数据(个数可变)捧序后由小到大输出。冒泡法是常用的排序算法,这种算法执行效率不高,但比较简单,就是将相邻的两个数据作比较,把较小的数据交换到前面。纵向看来,交换过程中较小的数据就好像水中的气泡不断浮起。要求使用for循环实现算法。
注意:部分源程序已存在文件test23_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数bubble的花括号中填写若干语句。
文件test23_.cpp的内容如下:
include<iostream.h>
void bubble(double data[],int length)
{
}
void main ()
{
int n;
cout << "请输入数据的个数";
cin>>n;
double* ddata = new double[n];
for(int i = 0; i < n; i++)
{
cout<<"No."<<i+1<<": ";
cin>>ddata[i];
}
bubble (ddata, n);
cout<<"排序后输出数据:"<<endl;
for(i = O; i<n; i++)
{
cout<<"No."<<i+1<<":";
cout<<ddata[i]<<endl;
}
}
A.待排序序列长度为n,冒泡排序至少需要进行n-1次比较
B.合并排序和堆排序都是稳定的
C.快速排序和直接插入排序过程中,每一趟都可以确定一个元素的最终位置
D.如果待排序序列属于基本有序状态时,用快速排序算法效率最高
排序
实验目的:
(1)熟练掌握在顺序表上实现排序的各种方法。
(2)深刻理解各种排序方法的特点,并能灵活运用。
(3)掌握和理解本实验中出现的一些基本的C语言语句。
(4)体会算法在程序设计中的重要性。
实验内容:
编写一个排序菜单程序,在其中调用不同的排序算法,实现对任意无序序列的递增排序操作。在主程序中输入初始序列,分别调用直接插入排序、冒泡排序、直接选择排序、快速排序等排序算法,输出排序后的结果。题目要求:在所有的排序算法中,待排序数据均从数组的0单元放起。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!