选择排序与冒泡排序的区别
选择排序:
假设变量都定义过
//外循环
for(k=0;k<n-1;k++){ //n是输入的数组中元素的个数,显示假设a[index]最小,0<k<n-1
index=k;//设初值为0
for(i=k+1;i<n;i++){ //内循环
if(a[i]<a[index]) //又假设a[i]是最小值
index=i;
}
temp=a[index];
a[index]=a[k];
a[k]=temp;
}
这里是个双重循环,内循环第一次循环n-1次找出数组中最小的值,出来后将最小值与a[k=0]交换,
第二次k=1循环n-K-1次,在a[1]~a[n-1]中找出最小值在交换给a[1]。以此类推,完成排序!
冒牌排序比较好理解一些:每次都相邻两个交换(真),每次内循环完成时最大值推=a[n-1],所以叫冒泡排序!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。