算法-选择、冒泡、插入

一、选择排序

  原理:比方说有一个数组:3,5,7,9,1;

  从第一个数字开始,后面的数字依次与第一个比较,如果小于第一个,则和第一个交换位置。比如这里的 1 < 3,则会变成1,5,7,9,3,这样下来,最小的会被放在第一个的位置上

  然后从第二个数字开始,后面的数字依次与第二个比较,这样,倒数第二小的数字会被放在第二个位置上

  怎么写?解决两个问题:

  1. 要写几个for循环?
  2. 找出每个for循环的边界

那么,我们的选择排序要几层循环呢???答案是两层。外层是往第几个位置上放元素/交换元素,里层是该位置的后面的每一个元素跟其比较

第一层的边界i:0~(数组长度-1)

第二层的边界j:(i+1)~(数组长度-1) 

猜你喜欢

转载自www.cnblogs.com/xiaowenshu/p/10126562.html