冒泡排序,选择排序

冒泡排序,选择排序

冒泡排序:
思路:通过for循环,实现排序, 每次循环,找到一个当前的最大值; 多次循环,完成排序。
先写一个乱序的数组;
冒泡排序,选择排序
冒泡排序,选择排序
然后 外层循环,循环执行排序操作,循环次数是数组单元个数-1
冒泡排序,选择排序
再内层循环,每次循环比较一个最大值, 上一次比较出的数值,不参与下一次循环 -j,当次循环的最后一个单元,通过倒数第二个单元,参与比较不参与循环 -1。
冒泡排序,选择排序
最后输出
冒泡排序,选择排序
冒泡排序,选择排序
选择排序:
思路: 从起始位置开始,找最小的数值所在的索引下标,如果最终存储的索引下标,不是起始位置,就与起始位置交换存储数据, 执行一次循环,会将最小值存储在起始位置上,下一次循环,之前的起始位置,不再参与循环。
给出一个无序数组
冒泡排序,选择排序
冒泡排序,选择排序
然后 外层循环,实现排序循环次数,次数是单元个数 -1
先默认起始位置就是最小值位置,存储起始位置的索引,也就是 j,之前的起始位置,不参与下一次循环
冒泡排序,选择排序
内层循环:每次循环,将本次循环找出来的最小值,与起始位置进行数值交换,先默认起始位置的数值为最小值,存储起始位置的索引值,之后从起始位置的下一个位置开始循环,生成之后的所有索引下标,,如果之后位置上的数值,小于存储的索引位置的数值,就存储这个数值的索引。
冒泡排序,选择排序
内层循环执行完毕,存储的索引下标如果不是起始的索引j,就交换 min中存储的索引下标对应的数值 和 j索引下标应的数值。
冒泡排序,选择排序
最后输出
冒泡排序,选择排序
冒泡排序,选择排序