选择排序与冒泡排序的区别

选择排序:

假设变量都定义过

//外循环

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],所以叫冒泡排序!

转载于:https://www.cnblogs.com/silenceCorner/p/4157989.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值