成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

冒泡排序怎么理解

Q1:c# 冒泡排序里 内层循环的 n-1-i 怎么理解

首先,java的数组下标是从0开始,所以如果你有10个数组项,就只能到9,所以
score.length-1知道吧,就这个道理,
其次,-i的意思是这样的,外层循环做了多少次,就已经有多少项已经冒到最后了,对于它们,不用再去比较了,这个-i的作用就是避免再对已经冒到最后的项再比较一次,已经冒到最后的那些顶,你比较也好,不比较也好,都是一样的结果,为了效率,是不用比较的

Q2:选择排序和冒泡排序怎么理解?

区别在于:冒泡算法,每次比较如果发现较小的元素在后面,就交换两个相邻的元素。而选择排序算法的改进在于:先并不急于调换位置,先从A[1]开始逐个检查,看哪个数最小就记下该数所在的位置P,等一躺扫描完毕,再把A[P]和A[1]对调,这时A[1]到A[10]中最小的数据就换到了最前面的位置。所以,选择排序每扫描一遍数组,只需要一次真正的交换,而冒泡可能需要很多次。比较的次数是一样的。

Q3:C语言冒泡排序不太理解

冒泡排序有两种方法:
1、不断把最大的数放到后面
2、不断把最小的数放到前面
你的程序属于第1种。
for(i=0;i<9-j;i++)//这里不太理解 为什么要 9-j?
因为最大的数放到末尾后,就不用计算了,否则就重复了,属于算法的优化。去掉优化,也可以写成下面的
for(i=0;i<9;i++)

Q4:冒泡排序的问题,怎么排序,怎么理解

你问的问题让我感觉你是刚刚开始接触c语言吧?用的是Win-tc编译器?*(win-tc编译器的注释得用/*......*/我用的是//,,如果你用win-tc的话,要把注释的符号修改一下,否则会报错。)你应该是不理解冒泡排序才会这么问问题的。。。下面附上冒泡排序的核心算法,以及for循环输入部分也有注释。。已经编译运行成功了的,还有不懂的请

猜你喜欢

更多