选择排序
来源:互联网 发布:飓风微信裂变系统源码 编辑:程序博客网 时间:2024/04/28 08:39
选择排序:
(1)第一个数分别跟第二个、第三个……最后一个依次比较,每次把较小的数放到第一个位置,循环比较一次后第一个数为最小数。
(2)再用第二个数分别跟第三个、第四个……最后一个依次比较,每次把较小的数放到第二个位置,循环比较一次后,第二个数为第二小的值。
(3)依次排序,直到最后一个数。
例如有一个数组:{3,1,2,8,5,10,4,12}
int[] a=new int[]{3,1,2,8,5,10,4,12};
第一轮内循环:
a[[0] 依次跟 a[1]、a[2]、a[3]……a[7] 比较,每次把较小值放到 a[0]。
第一轮内循环后,第一个数为最小值 1,即 a[0] = 1 。
第二轮内循环:
a[[1] 依次跟 a[2]、a[3]、a[4]……a[7] 比较,每次把较小值放到 a[1]。
第二轮内循环后,第二个数为第二小的值,即 a[1] = 2 。
第三轮内循环:
a[[2] 依次跟 a[3]、a[4]、a[5]……a[7] 比较,每次把较小值放到 a[2]。
第三轮内循环后,第三个数为第三小的值,即 a[2] = 3 。
最终结果:
代码分析:
写一个完成选择排序功能的函数 selectsort()
public static void selectsort(int[] a) { for(int x=0;x<a.length-1;x++) { for(int y=x+1;y<a.length;y++) { if(a[x]>a[y]) { int temp; temp=a[y]; a[y]=a[x]; a[x]=temp; } } }}打印数组函数 print()
public static void print(int[] a) { System.out.print("["); for(int x=0;x<a.length;x++) { System.out.print(a[x]+" "); } System.out.println("]"); }
main()函数
public static void main(String[] args) { int[] x=new int[]{3,1,2,8,5,10,4,12}; print(x); selectsort(x); print(x); }
输出结果:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- rsync实时同步(搭配inotify-tools)
- 【Git入门之七】Git和Github
- java基础---接口与应用
- 又是一个大晴天!
- Linux库文件路径的添加
- 选择排序
- C++引用和指针
- 关于wine
- KNOW: Process Thread Sync Deadlock
- Excel VBA利用事件对图表自动更新
- log4j的DailyRollingFileAppender循环输出log文件
- 永别了,东方鸿运
- The rsync algorithm
- action中的spring注入为空的问题