《java数据结构与算法》系列之“简单排序"-冒泡,选择,插入
2013-10-10 16:11
302 查看
好几天又没写,因为这几天很闲,平时忙的时候自己再累都不会睡着,但是呢这没事了,照理说应该是不瞌睡了,结果还睡着了。
所以说,人很贱。也验证了一句话,没有目标的人其实最无聊。人一定要有自己的工作,这工作部限于朝九晚五的工作,像家庭主妇也可以是工作,总之要有目标,如果没有,我想人会发疯的。当然休息的时候另外。废话到此。
简单排序包括:冒泡,选择,插入三种。
1:冒泡排序:
原理:从上到下,对每一对相邻的数进行比较,直到最大的数或最小的数字飘到最上面。
2:选择排序:
原理:每一轮选择一个最小或大的书放在数列的最开头,然后对剩下的数依次取一个最大或小的数放在之前那个数列的后面,依次类推。
3:插入排序:
原理:从第一个数字开始,下一个数字依次与前面已经排好的所有数字依次比较并排序即插入到前面已经排好序的里面,第一个数字假定是已经排好了的数字。
所以说,人很贱。也验证了一句话,没有目标的人其实最无聊。人一定要有自己的工作,这工作部限于朝九晚五的工作,像家庭主妇也可以是工作,总之要有目标,如果没有,我想人会发疯的。当然休息的时候另外。废话到此。
简单排序包括:冒泡,选择,插入三种。
1:冒泡排序:
原理:从上到下,对每一对相邻的数进行比较,直到最大的数或最小的数字飘到最上面。
int a[] = {1,26,6,12,8,15} ;//初始数组 int temp ; for(int i =0 ; i < a.length -1 ; i ++ ) { for(int j=0 ; j < a.length -1 -i ; j++ ) { //每次一轮缩掉一个比较的数,即轮数是这样的:外层循环总5轮(数组的个数-1) 1和2,2和3,3和4,4和5,5和6 第一轮 1和2,2和3,3和4,4和5 第二轮 1和2,2和3,3和4 第三轮 1和2,2和3 第四轮 1和2 第五轮 if(a[j]>a[j+1])//从大到小排列 { temp = a[j]; a[j]=a[j+1]; a[j+1]=temp; } } }
2:选择排序:
原理:每一轮选择一个最小或大的书放在数列的最开头,然后对剩下的数依次取一个最大或小的数放在之前那个数列的后面,依次类推。
int a[] = {1,26,6,12,8,15} ;//初始数组 int temp ; for(int i =0 ; i < a.length -1 ; i ++ ) { for(int j=i+1 ; j < a.length ; j++ ) { //每次一轮去掉一个最小或大的数,即轮数是这样的:外层循环总5轮(数组的个数-1) 1和2,1和3,1和4,1和5,1和6 第一轮 2和3,2和4,2和5,2和6 第二轮 去掉1 3和4,3和5,3和6 第三轮 去掉2 4和5,4和6 第四轮 去掉3 5和6 第五轮 去掉4 if(a[j]>a[j+1])//从大到小排列 { temp = a[j]; a[j]=a[j+1]; a[j+1]=temp; } } }
3:插入排序:
原理:从第一个数字开始,下一个数字依次与前面已经排好的所有数字依次比较并排序即插入到前面已经排好序的里面,第一个数字假定是已经排好了的数字。
int a[] = {1,26,6,12,8,15} ;//初始数组 int temp ; ////算法:2与1比较,排好1和2 // 3与2比较,3与1比较 排好1,2,3 // 4与3比较,4与2比较,4月1比较 拍好1,2,3,4 // 5和4,5和3,5和2,5和1 拍好1,2,3,4,5 // 6和5,6和4,6和3,6和2,6和1 完成排序。 拍好1,2,3,4,5,6 for(int i=1; i <a.length ; i++){ i控制2,3,4,5,6 for( int j =1; j < i+1 ; j++){ j控制1,1和2,1和2和3,1和2和3和4,1和2和3和4和5 if(a[i]>a[j-1]){ temp=a[i]; a[i]=a[j-1]; a[j-1]=temp; } } }
相关文章推荐
- (6)排序算法--- 冒泡 、选择、插入 《java数据结构与算法》一书第三章读书笔记。
- 三种简单排序(冒泡、插入、选择)的比较和图解
- c语言简单实现 冒泡,插入,选择,归并排序
- Java三种常见的排序算法:冒泡,选择,插入
- 6种排序算法的简洁实现:冒泡、选择、插入、归并、快速、堆
- objective-c 实现常用算法(冒泡、选择、快速、插入)
- C语言排序实例(选择、冒泡、插入、折半、快速)
- 常见排序算法总结与实现(冒泡、插入、选择、希尔、堆排序、归并、快排)
- php四种基础算法:冒泡,选择,插入和快速排序法
- java中的三种排序算法详解(直接选择.冒泡.插入)
- 数组常见常用的几种排序→→→冒泡→→选择→→插入
- 冒泡,选择,插入,快速排序在Java中的实现
- C语言排序实例(选择、冒泡、插入、折半、快速)
- 排序----冒泡,选择,插入,二分查找
- 冒泡/选择/插入排序区别
- javascript系列之排序算法<一、冒泡、快速、直接插入>
- 三大基本排序总结 (冒泡、选择、插入)
- java实现插入选择冒泡归并排序小结
- 回顾四种常见的排序算法(冒泡,选择,插入,快速)
- 冒泡,插入,选择,希尔排序