怎么用冒泡排序 数据顺序法排列打乱顺序的球

数据表中有10000个元素,如果仅要求求出其中最大的10个元素,则采用( )算法最节省时间.为什么?A.冒泡排序 B.快速排序 C.简单选择排序 D.堆排序_百度作业帮
数据表中有10000个元素,如果仅要求求出其中最大的10个元素,则采用( )算法最节省时间.为什么?A.冒泡排序 B.快速排序 C.简单选择排序 D.堆排序
数据表中有10000个元素,如果仅要求求出其中最大的10个元素,则采用( )算法最节省时间.为什么?A.冒泡排序 B.快速排序 C.简单选择排序 D.堆排序编程:冒泡法正序排序,用指针怎么编?? 跪求!!_百度知道
编程:冒泡法正序排序,用指针怎么编?? 跪求!!
提问者采纳
/*排序前:&& 92&& 58&& 79&& 99&& 52&& 79&& 68&& 89&& 73&& 56&& 79&& 88&& 88&& 78&& 77&& 67&& 97&& 84&& 70&& 66排序后:&& 52&& 56&& 58&& 66&& 67&& 68&& 70&& 73&& 77&& 78&& 79&& 79&& 79&& 84&& 88&& 88&& 89&& 92&& 97&& 99Press any key to continue*/#include&&stdio.h&#include&&stdlib.h&#include&&time.h&#define&MAXlen&20void&bubble_sort(int&*x,&int&n)&{&&&&&&&&&//&冒泡排序&int&j,&k,&h,&t;&for&(h&=&n&-&1;&h&&&0;&h--)&{&&&&&&&&&&//&循环到没有比较范围&&for&(j&=&0,&k&=&0;&j&&&h;&j++)&{&&&//&每次预置k=0,循环扫描后更新k&&&if&(*(x&+&j)&&&*(x&+&j&+&1))&{&//&大的放在后面,小的放到前面&&&&t&=&*(x&+&j);&&&&*(x&+&j)&=&*(x&+&j&+&1);&&&&*(x&+&j&+&1)&=&t;&&&&&&&&&&//&完成交换&&&&&k&=&j;&&&&&&&&&&&&&&&&&&&&&//&保存最后下沉的位置。这样k后面的都是排序排好了的。&&&}&&}&}}int&main()&{&int&i,iArr[MAXlen];&srand((unsigned&int)time(NULL));&printf(&\n排序前:\n&);&for(i&=&0&;&i&&&MAXlen&;&i++)&{&&iArr[i]&=&(unsigned&char)rand()&%&51&+&50;&&if(i&%&10&==&0)&printf(&%\n&);&&printf(&%5d&,iArr[i]);&}&printf(&\n&);&bubble_sort(iArr,MAXlen);&printf(&\n排序后:\n&);&for(i&=&0&;&i&&&MAXlen&;&i++)&{&&if(i&%&10&==&0)&printf(&\n&);&&printf(&%5d&,iArr[i]);&}&printf(&\n\n&);&return&0;}
提问者评价
太给力了,你的回答完美解决了我的问题!
其他类似问题
为您推荐:
冒泡法的相关知识
其他1条回答
很想知道,不用指针,怎么编。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在matlab中最大公约数和最小公倍数的求法及排序方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
在matlab中最大公约数和最小公倍数的求法及排序方法
1​,​m​a​t​l​a​b​中​最​大​公​约​数​和​最​小​公​倍​数​的​求​法​
​
,​用​冒​泡​法​对​数​据​排​序
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢(应用排序算法编程7.2.1)UVA 10327 Flip Sort(使用冒泡排序来求逆序对)
* UVA_10327.cpp
Created on: 日
Author: Administrator
#include &iostream&
#include &cstdio&
const int maxn = 1010;
int main(){
int a[maxn];
while(scanf(&%d&,&n)!=EOF){
for(i = 1 ; i &= ++i){
scanf(&%d&,&a[i]);
bool flag =
int ans = 0;
while(flag){//只要序列中出现逆序对,就不断的从前往后扫
for(i = 1 ; i & ++i){
if(a[i] & a[i+1]){
int temp = a[i+1];//这三行也可以换成swap(a[i],a[i+1])
a[i+1] = a[i];
printf(&Minimum exchange operations : %d\n&,ans);对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(  )A.冒泡排序为n/2 B.冒泡排序为n C.快速排序为n D.快速排序为n(n-1)/2 求解释,各个排序都不懂什么意_百度作业帮
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(  )A.冒泡排序为n/2 B.冒泡排序为n C.快速排序为n D.快速排序为n(n-1)/2 求解释,各个排序都不懂什么意
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(  )A.冒泡排序为n/2 B.冒泡排序为n C.快速排序为n D.快速排序为n(n-1)/2 求解释,各个排序都不懂什么意思啊!
D~冒泡最坏情况下,就是反序的序列排序,例如3 2 1排成1 2 3这样排的话,比较次数就是n*(n-1)/2快速排序最坏情况,就是每次选的基准数,都对比过整段.然后,将划分这段数为0和n-1,例如1 2 3 41做第一次对比数,从后向前对比,比完后划分,2 3 4分成下一段,递归这样比较就是n*(n-1)/2次~

我要回帖

更多关于 excel如何打乱顺序 的文章

 

随机推荐