冒泡排序在最坏的情况下的比较次数为什么是n(n-1)/2?

寻找成熟的美丽2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
不要再上当 共回答了22个问题 | 采纳率86.4%
冒泡排序如1,2,3,4最好的情况是按完全升级排列,最坏就是数字完全按降序排列:
第一次是1:然后1和2,3,4
第2次:2:比较谁比它小交换,于是2.和34交换,答案是3421
第3次为3:3和4
交换机最后是4321;这就是最坏情况下的次数3+2+1=6=4*3/2;
其实对于n个的话,你要求降低
排列,但是偏偏都是升序的数字;最坏的情况就是如此:次数为:n-1+n-2
.+1=n*(n-1)/2;好累哇哇
1年前

相关推荐

C#冒泡排序这几句是什么意思//开始冒泡排序for (i = 0; i < xue.Length-1; i++) ///
C#冒泡排序这几句是什么意思
//开始冒泡排序
for (i = 0; i < xue.Length-1; i++) ///这一步为什么要减1啊 不减1也可以啊
{
//将最大的值传递到最后s
for (j = 0; j < xue.Length-1-i; j++) ////长度减1减i是什么意思啊 为什么要加-1和-j
{
if (xue[j] > xue[j + 1])
{
temp = xue[j];
xue[j] = xue[j + 1];
xue[j + 1] = temp;
}
}
}
Console.WriteLine("排序后的输出为:");
for ( i = 0; i < 5;i++ )
{
Console.WriteLine("{0}",xue[i]);
}
河南人怎么了1年前1
allenyg 共回答了27个问题 | 采纳率100%
第一个for循环里的-1可以去了,但是会多循环计算一次,虽然不会影响结果
因为冒泡排序是两两交换,所以,在执行xue[j]=xue[j+1]时,如果第二个for循环的j没有-1,会超出索引报错
-i,是因为每次交换都把没有交换的字符里的最大字符的换到后面去了,所以,每次需要交换位置的字符越来越少,
不-i不影响结果,因为换到后面的都是比较过后排好序的,再计算排序结果还是不变,但是却多了没必要的循环和计算,所以-i性能会更好
前辈们帮忙解释一下这个冒泡排序的每个语句的意思(标注在每句后面就行,
前辈们帮忙解释一下这个冒泡排序的每个语句的意思(标注在每句后面就行,
void main prbub(p,n)
int n;double p[];
{int m,k,j,i;
double d;
k=0;m=n-1;
while (k=j;j--)
if(p[i-1]>p[i])
{d=p[i];p[i]=p[i+1];p[i+1]=d;k=i;}
}
return;
}
三楼的哥们,你解释的我本来就明白,关键是我不大明白前面几句……
k=0;m=n-1;
while (k
薰香袖1年前1
吴氓 共回答了29个问题 | 采纳率89.7%
意料之中.单看程序,不实际跑几遍是很难完全理解的.
void main prbub(p,n)
int n;double p[];
{int m,k,j,i;
double d;
k=0;m=n-1;
while (k=j;j--) //从m开始往前,直到j
if(p[i-1]>p[i]) //如果顺序不对
{d=p[i];p[i]=p[i+1];p[i+1]=d;k=i;} //两个数字对换位置
}
return;
}
1、排序方法
将被排序的记录数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡.根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮".如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止.
(1)初始
R[1..n]为无序区.
(2)第一趟扫描
从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置.即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);对于每对气泡(R[j+1],R[j]),若R[j+1].key
排序求教一、实验目的1.掌握简单插入排序、冒泡排序、快速排序、堆排序以及归并排序的算法并加以应用。2.对各种查找、排序技
排序求教
一、实验目的
1.掌握简单插入排序、冒泡排序、快速排序、堆排序以及归并排序的算法并加以应用。
2.对各种查找、排序技术的时间、空间复杂性有进一步认识。
二、实验内容
编写程序实现下述六种算法中至少三种,并用以下无序序列加以验证:
49,38,65,97,76,13,27,49,72,33
1.直接插入排序
2.冒泡排序
3.快速排序
4.归并排序
5.堆排序
6. 直接选择排序

三、实验步骤


四、实验体会
nhsxd1年前1
无语的小巫婆 共回答了18个问题 | 采纳率100%
什么语言的
下列排序算法中不稳定的是( ).A.快速排序 B.归并排序 C.冒泡排序 D.直接插入排序
lwysssss1年前1
贾笠 共回答了17个问题 | 采纳率94.1%
选A了
数据结构习题帮忙看一下1. 对一组初始关键字序列(40,50,95,20,15,70,60,45,10)进行冒泡排序,则
数据结构习题帮忙看一下
1. 对一组初始关键字序列(40,50,95,20,15,70,60,45,10)进行冒泡排序,则第一趟需要进行相邻记录的比较的次数为__________,在整个排序过程中最多需要进行__________趟排序才可以完成。
此类题是不是有公式算 啊
2. 设一棵三叉树中有2个度数为1的结点,2个度数为2的结点,2个度数为3的结点,则该三叉链权中有( )个度数为0的结点。
(A) 5 (B) 6 (C) 7 (D) 8
oy09061年前3
leanP 共回答了10个问题 | 采纳率80%
百度一下 我数学也不是很厉害,或者找个数学老师来问问?嘻嘻!不要扁我哦!
数据结构问题!冒泡排序!为什么不选 C 呢?
数据结构问题!冒泡排序!为什么不选 C 呢?
. 在对n个元素进行冒泡排序的过程中,最好情况下的时间复杂度为 :
  A. O(1) B. (log2n)
  C. O(n2) D. O(n)
谢谢!!
答案是D
一剑留情1年前1
娃哈哈p225 共回答了17个问题 | 采纳率94.1%
最坏是n2 最好是n 。最好情况是本来顺序就是好的,就不用执行交换元素的循环,就只有一层外面的循环所以是O(n)。
有若干数据 57、78、90、80、27、32、100、45,利用冒泡排序从小到大排列,试分别写出前4趟每趟加工后的数学
有若干数据 57、78、90、80、27、32、100、45,利用冒泡排序从小到大排列,试分别写出前4趟每趟加工后的数学序列(分四行写)
没有名字选1年前2
qita5 共回答了26个问题 | 采纳率92.3%
第一趟 57 ,78 ,80 ,27 ,32 ,90 ,45 ,100
第二趟 57 ,78 ,27 ,32 ,80 ,45 ,90 ,100
第三趟 57 ,27 ,32 ,78 ,45 ,80 ,90 ,100
第四趟 27 ,32 ,57 ,45 ,78 ,80 ,90 ,100
以下排序算法最坏情况下时间复杂度最低的是 A.冒泡排序 B.插入 C.选择 D.快排
纯种汉人1年前1
lilsqzr 共回答了18个问题 | 采纳率94.4%
1.选择排序:不稳定,时间复杂度 O(n^2)
选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置.这样,经过i遍处理之后,前i个记录的位置已经是正确的了.
2.插入排序:稳定,时间复杂度 O(n^2)
插入排序的基本思想是,经过i-1遍处理后,L[1..i-1]己排好序.第i遍处理仅将L[i]插入L[1..i-1]的适当位置,使得L[1..i] 又是排好序的序列.要达到这个目的,我们可以用顺序比较的方法.首先比较L[i]和L[i-1],如果L[i-1]≤ L[i],则L[1..i]已排好序,第i遍处理就结束了;否则交换L[i]与L[i-1]的位置,继续比较L[i-1]和L[i-2],直到找到某一个位置j(1≤j≤i-1),使得L[j] ≤L[j+1]时为止.图1演示了对4个元素进行插入排序的过程,共需要(a),(b),(c)三次插入.
3.冒泡排序:稳定,时间复杂度 O(n^2)
冒泡排序方法是最简单的排序方法.这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮.在冒泡排序算法中我们要对这个“气泡”序列处理若干遍.所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确.如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置.显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置.在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查.一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序.
4.堆排序:不稳定,时间复杂度 O(nlog n)
堆排序是一种树形选择排序,在排序过程中,将A[n]看成是完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小的元素.
5.归并排序:稳定,时间复杂度 O(nlog n)
设有两个有序(升序)序列存储在同一数组中相邻的位置上,不妨设为A[l..m],A[m+1..h],将它们归并为一个有序数列,并存储在A[l..h].
6.快速排序:不稳定,时间复杂度 最理想 O(nlogn) 最差时间O(n^2)
快速排序是对冒泡排序的一种本质改进.它的基本思想是通过一趟扫描后,使得排序序列的长度能大幅度地减少.在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只减少1.快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左边各数都比它小,右边各数都比它大.然后又用同样的方法处理它左右两边的数,直到基准点的左右只有一个元素为止.

几种排序的时间复杂度,可以参考一下
设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是
设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是
A.F,H,C,D,P,A,M,Q,R,S,Y,X
B.P,A,C,S,Q,D,F,X,R,H,M,Y
C.A,D,C,R,F,Q,M,S,Y,P,H,X
D.H,C,Q,P,A,M,S,R,D,F,X,Y
儒尼尼奥1年前1
你好小平 共回答了20个问题 | 采纳率95%
D
冒泡排序算法的运作如下:(从后往前)
比较相邻的元素.如果第一个比第二个大,就交换他们两个.
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数.
针对所有的元素重复以上的步骤,除了最后一个.
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较.
冒泡排序时间复杂度冒泡排序在最坏的情况下的比较次数是O(N^2) 怎么有的就写冒泡排序在最坏情况下的比较次数是n(n-1
冒泡排序时间复杂度
冒泡排序在最坏的情况下的比较次数是O(N^2)
怎么有的就写冒泡排序在最坏情况下的比较次数是n(n-1)/2
一头雾水
baojac1年前1
葡萄树21 共回答了17个问题 | 采纳率82.4%
我啰嗦两句,从头讲起。冒泡排序是一种用时间换空间的排序方法,最坏情况是把顺序的排列变成逆序,或者把逆序的数列变成顺序。在这种情况下,每一次比较都需要进行交换运算。举个例子来说,一个数列 5 4 3 2 1 进行冒泡升序排列,第一次大循环从第一个数(5)开始到倒数第二个数(2)结束,比较过程:先比较5和4,4比5小,交换位置变成4 5 3 2 1;比较5和3,3比5小,交换位置变成4 3 5 2 1……最后比较5和1,1比5小,交换位置变成4 3 2 1 5。这时候共进行了4次比较交换运算,最后1个数变成了数列最大数。
第二次大循环从第一个数(4)开始到倒数第三个数(2)结束。进行3次比较交换运算。
……
所以总的比较次数为 4 + 3 + 2 + 1 = 10次
对于n位的数列则有比较次数为 (n-1) + (n-2) + ... + 1 = n * (n - 1) / 2,这就得到了最大的比较次数
而O(N^2)表示的是复杂度的数量级。举个例子来说,如果n = 10000,那么 n(n-1)/2 = (n^2 - n) / 2 = (100000000 - 10000) / 2,相对10^8来说,10000小的可以忽略不计了,所以总计算次数约为0.5 * N^2。用O(N^2)就表示了其数量级(忽略前面系数0.5)。
打了那么多字应该解释的比较清楚了吧,什么地方看不明白再问吧
108.假定一组记录为(46,79,56,38,40,84),在冒泡排序过程中进行第一趟排序后的结果为__.
1思11年前1
dzy2005zyys 共回答了26个问题 | 采纳率100%
(46,56,38,40,79,84)
数据结构关于排序算法的问题?插入排序、选择排序、冒泡排序、基数排序、堆排序的算法中其比较次数与初始数据集顺序无关的是?请
数据结构关于排序算法的问题?
插入排序、选择排序、冒泡排序、基数排序、堆排序的算法中其比较次数与初始数据集顺序无关的是?请说明理由.
紫岚8181年前1
淮南在线 共回答了13个问题 | 采纳率92.3%
选择排序的算法中,其比较次数与初始数据集顺序无关.
因为它固定是N-1轮外循环,用于选N-1次最小值(升序排序),每一轮必须要比较(N-i)次,才能在(N+1-i)个数中选 出最小元素.
谁能帮我具体分析下插入排序、冒泡排序、选择排序三种方法的优劣?着重分析三种排序所耗费的时间,稳定性
谁能帮我具体分析下插入排序、冒泡排序、选择排序三种方法的优劣?着重分析三种排序所耗费的时间,稳定性
只需从几个方面去分析比较它们的优缺点就行,不需要去讲它们的定义!
nalati1年前1
过客凄凉 共回答了22个问题 | 采纳率90.9%
/*
算法思想简单描述:
堆排序是一种树形选择排序,是对直接选择排序的有效改进.
堆的定义如下:具有n个元素的序列(h1,h2,...,hn),当且仅当
满足(hi>=h2i,hi>=2i+1)或(hi
初始状态按键值递增,分别用堆排序,快速排序和冒泡排序对其进行排序(按递增顺序)最省最费时排序?原因
mm4444321年前1
congjudy 共回答了19个问题 | 采纳率89.5%
1.确定块来历不明的元素;
2块来历不明的元素.由于冒泡排序算法的条款,设置一个标志,标志记录行程排序记录交换,以确定当前的排序区域是否有自然的和有序的.冒泡排序这个问题,用最少的时间.
记录时,一直键的初始值增量有序,快速排序,因为每个选定的中间元件是最小的,它被分成左,右两个区域是空的,以及其他比原来的面积的至少一种元素,只有在旅途中的元素比较的数量小于1,所以总的时间消耗是O(N ^ 2),所以这个问题的快速排序方法最耗费时间的.
[答案]冒泡排序,快速排序.
3.成叠的S1,S2拿出一叠
入队的时候,在
尾出队入堆栈S1,如果栈S2不为空,然后出来.
否则11到的堆栈S1,堆栈,和11进入堆栈S2,然后出来.
否则,错误
判处空间,以确定是否两个堆栈同时空气
关于数据结构排序算法的问题插入排序、选择排序、冒泡排序、基数排序、堆排序的算法中其比较次数与初始数据集顺序无关的是?请说
关于数据结构排序算法的问题
插入排序、选择排序、冒泡排序、基数排序、堆排序的算法中其比较次数与初始数据集顺序无关的是?请说明理由.
13701年前1
4568870 共回答了18个问题 | 采纳率88.9%
选择排序.
选择排序的算法原理是:第一趟从n个待排关键字中找出最小的关键字放到第一个位置,如果要找到最小关键字则必须所有元素都进行比较,所以第一趟要比较n-1次;第二趟从剩下的n-1的元素中再通过n-2次的比较找出最小的元素…………以此类推,不管初始有没有序,它都一共要进行n-1趟排序共n(n-1)/2次比较,时间复杂度始终是O(n平方)
至于其他的,拿插入排序举例:插入排序的基本思想是每次将一个待排的记录按其关键字大小插入到前面已经排好序的子序列中.试想,如果已经排好序的子序列是123,待排记录为45,插入4时,只要和3比较一次就知道排在3后面,对5排序时只要与4比较一次就知道该排在4后面,共比较2次.如果已经排好序的子序列是234,待排记录为15,插入1时,它要从后往前依次比较3次才能找到自己的位置,同样对5排序时只要与4比较一次,共比较4次.由上例可知,插入排序会随着初始数据集的顺序不同而比较次数不同.
BTW,基数排序不是基于关键字比较的排序算法.
纯手打,望采纳,不清楚还可共同探讨.
麻烦你帮我做一道题,503,87,512,908,170,276,436,316,对这一序列进行冒泡排序(算法),
LY-依诺儿是我1年前1
Haippo 共回答了13个问题 | 采纳率92.3%
要想了解算法,请看下面 冒泡排序 1、排序方法 将被排序的记录数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡.根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮".如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止.(1)初始 R[1..n]为无序区.(2)第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置.即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);对于每对气泡(R[j+1],R[j]),若R[j+1].key
对n个元素的序列进行冒泡排序时,最少的比较次数是
v_v_v-ok1年前1
雪女小冻包 共回答了19个问题 | 采纳率84.2%
进行冒泡排序,理论上来说,最小的比较次数是 0次,可以是直接排好序的序列.
但是,程序并不会像人一样,一眼看出来,所以它的走一趟,如果在这一趟中没有发生任何交换,它知道这个序列是排好序的,也就是n-1次,不过这个要在代码中判断,如果不加入判断的话,它还是一直比较下去,直到结束.
对n个元素进行冒泡排序,在( )情况下比较的次数为最少,其比较次数为( ).
对n个元素进行冒泡排序,在( )情况下比较的次数为最少,其比较次数为( ).
对n个元素进行冒泡排序,在( )情况下比较的次数为最少,其比较次数为( ).
jsll099081年前1
天长D酒 共回答了23个问题 | 采纳率91.3%
(1)非递减,(2)0
下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序
下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序
B)简单选择排序
C)直接插入排序
D)堆排序E快速排序
一段木头21年前1
xiao_young 共回答了16个问题 | 采纳率93.8%
最坏情况下比较次数最少的为D)堆排序:
A)冒泡排序 需要比较O(n^2)次(n(n - 1)/2次),即序列逆序的情况
B)简单选择排序,无论是否最坏都需要O(n^2)次(n(n - 1)/2次)
C)直接插入排序,最坏情况需要比较O(n^2)次(n(n - 1)/2次)
D)堆排序,无论是否最坏比较O(nlog2n)次
E)快速排序,最坏情况退化为冒泡排序,需要比较O(n^2)次(n(n - 1)/2次)
描述直接插入排序、冒泡排序、直接选择排序的算法(可用任意形式,如流程图、伪码等),并用这3种方式写出
描述直接插入排序、冒泡排序、直接选择排序的算法(可用任意形式,如流程图、伪码等),并用这3种方式写出
原始数据为:33 76 26 88 15 92 37 49
sassy61年前1
花心小鱼 共回答了13个问题 | 采纳率100%
int a[]={33,76,26,88,15,92,37,49},i,j.k;
for(i=0;i
数据排序算法的稳定与不稳定有些排序算法是稳定排序,如冒泡排序;有些排序算法是不稳定排序,如快速排序.如何理解排序算法的稳
数据排序算法的稳定与不稳定
有些排序算法是稳定排序,如冒泡排序;有些排序算法是不稳定排序,如快速排序.如何理解排序算法的稳定与不稳定?
wlycoolgy1年前1
yxx23 共回答了20个问题 | 采纳率100%
LZ在瞎扯
假设有序列(123,3244,45,【123】)
排序后为(45,123,123,3244)
如果第一个123在排序后还在第二个【123】之前,即
45 123 【123】 3244
则算法是稳定的
否则
45 【123】 123 3244
即为不稳定
冒泡排序和选择排序有什么区别,
yff1981021年前1
junje_x 共回答了18个问题 | 采纳率88.9%
找排序的区别,一定要动手(用笔,不是电脑)去执行代码,不用问你也可以看出代码怎么排的,而且你自己对这问题的理解也更加深刻,问人的话说不定哪天你又忘了,说不定还把两种给搞反了.我下面手写给你解释一下代码,你动手去画一下.
为了方便思考,数组零位置我没用
选择排序(从小到大,每次将a[i]到a[n]中最小的值找到,并放到a[i]处)
for(i=1;i
下列排序方法中,最坏情况下比较次数最少的是()为什么 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆
cheng1321年前1
奥迪V8 共回答了24个问题 | 采纳率79.2%
最坏情况下:直接选择排序:每次都要执行交换,总移动次数为(n-1)次交换 O(n)
冒泡排序:每比较一次都要进行一次交换 ,移动次数为 3n(n-1)/2 O(n2)
直接插入排序:n2/4 O(n2)
堆排序: O(nlog2n)
所以,应该选D
在最坏的情况下,下列排序方法中时间复杂度最小的是()A.冒泡排序 B.快速排序 C.插入排序D.堆排序
在最坏的情况下,下列排序方法中时间复杂度最小的是()A.冒泡排序 B.快速排序 C.插入排序D.堆排序
能不能告诉我详细的分析啊?
86load1年前1
huhu_shen 共回答了15个问题 | 采纳率100%
排序方法 最坏时间复杂度 最好时间复杂度 平均时间复杂度
直接插入 O(n2) O(n) O(n2)
简单选择 O(n2) O(n2) O(n2)
起泡排序 O(n2) O(n) O(n2)
快速排序 O(n2) O(nlog2n) O(nlog2n)
堆排序 O(nlog2n) O(nlog2n) O(nlog2n)
归并排序 O(nlog2n) O(nlog2n) O(nlog2n)
所以选d
在最坏情况下,下列排序方法中时间复杂度最小的是(D) A)冒泡排序 B)快速排序 C)插入排序 D)堆排序
黄海龙cc1年前1
妖精782 共回答了16个问题 | 采纳率87.5%
堆排序
请你对{23、57、71、87、30、13、28、35、26、34、12}11个数,写出由小到大的冒泡排序的序列.
77七1年前1
风玉冰雪 共回答了21个问题 | 采纳率90.5%
23,57,71,30,13,28,35,26,34,12,87
23,57,30,13,28,35,26,34,12,71,87
23,30,13,28,35,26,34,12,57,71,87
23,13,28,30,26,34,12,35,57,71,87
13,23,28,26,30,12,34,35,57,71,87
13,23,26,28,12,30,34,35,57,71,87
13,23,26,12,28,30,34,35,57,71,87
13,23,12,26,28,30,34,35,57,71,87
13,12,23,26,28,30,34,35,57,71,87
12,13,23,26,28,30,34,35,57,71,87
数据结构,冒泡排序,算法填空1. 将下面算法填完整.void Bubble_Sort(elementtype A[n+1
数据结构,冒泡排序,算法填空
1. 将下面算法填完整.
void Bubble_Sort(elementtype A[n+1] )
//对顺序表A[1..n]做冒泡排序,按关键字由小到大顺序排列
{change=TRUE;
for ( i=1 ; i
ho610921年前1
js南京 共回答了15个问题 | 采纳率93.3%
change=FLASE;
A[j]>A[j+1]
计算机 冒泡排序 升序排列问题某书店第30周每天图书的销售量(单位:册)存放在数组d中,如下表所示:d(1)d(2)d(
计算机 冒泡排序 升序排列问题
某书店第30周每天图书的销售量(单位:册)存放在数组d中,如下表所示:
d(1)d(2)d(3)d(4)d(5)d(6)d(7)
201 122 98 145 267 618 502
若采用冒泡排序算法对这些数据进行升序排列,那么在完成第一遍的加工时,变量d(1)、d(7)的值分别为()
(A)122 502 (B)201 618 (C)98 618 (D)98 502
为什么答案是C 从左到右冒泡的话 第一个不是122吗?
zhuzhu9191年前1
panda1010 共回答了19个问题 | 采纳率89.5%
出这个题的人弱智.
冒泡可以从左到右遍历,也可以从右到左遍历.这个想怎么实现都可以,出题人说选c就是从右到左的遍历结果,a是从左到右的遍历结果.题目又没说采用什么方式,如果这是考试题目的话,这样出题就是弱智.除非这个教材上的习题,他的冒泡流程在正文讲的,这样才可以.