直接排序和冒泡排序简单讲解(JAVA代码)
2014-09-14 11:23
218 查看
一、直接排序
直接排序每运算一次就会保证前面已经排序的是最终结果的前面部分,第一次运算结束以后,第一个肯定是最小的,第二次则是前两个是最小的,由于确定排序部分越来越多,后面越来越少,越往后排序的次数越少。详细看代码(第一个For是取数字,第二个是依次比较,最终最小的会和它换位置)
二、冒泡排序
假如有10个数字,那么就会进行10次排序,每次排序都是把第i个位置和第i+1进行交换(如果小的话),每换一次,小的数字就会往前挪了一步,就算最小的放在最后,10次比较也会到第一位了吧。。。这个算法的空间复杂度低,时间复杂度就有点高了。。。固定次数
直接排序每运算一次就会保证前面已经排序的是最终结果的前面部分,第一次运算结束以后,第一个肯定是最小的,第二次则是前两个是最小的,由于确定排序部分越来越多,后面越来越少,越往后排序的次数越少。详细看代码(第一个For是取数字,第二个是依次比较,最终最小的会和它换位置)
二、冒泡排序
假如有10个数字,那么就会进行10次排序,每次排序都是把第i个位置和第i+1进行交换(如果小的话),每换一次,小的数字就会往前挪了一步,就算最小的放在最后,10次比较也会到第一位了吧。。。这个算法的空间复杂度低,时间复杂度就有点高了。。。固定次数
public class SortTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] a = { 62, 54, 68, 73, 99, 22, 46, 83, 22, 70 }; sortMethod1(a); //sortMethod2(a); } public static void sortMethod1(int[] s) { int temp; for (int i = 0; i < s.length - 1; i++) { for (int j = i + 1; j < s.length; j++) { if (s[i] > s[j]) { temp = s[i]; s[i] = s[j]; s[j] = temp; } for (int k = 0; k < s.length; k++) {//输出动态 System.out.print(s[k] + ", "); } System.out.println(" "); } System.out.println(" "); } } public static void sortMethod2(int[] s) { int temp; for (int i = 1; i <= s.length; i++) { for (int j = 0; j < s.length - 1; j++) { if (s[j] > s[j + 1]) { temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp; } for (int k = 0; k < s.length; k++) {//输出动态 System.out.print(s[k] + ", "); } System.out.println(" "); } System.out.println(" "); } } }
相关文章推荐
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- java几种排序简单实现(快速排序,冒泡排序,直接插入排序)
- 排序算法原理及其Java代码(快速排序、冒泡排序、直接插入排序、简单选择排序)
- 简单排序 --(冒泡排序,简单选择排序,直接插入排序)
- 2、直接插入排序,JAVA代码
- JAVA之冒泡排序与简单选择排序的实现
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 三种最简单基础的排序 选择排序 冒泡排序 直接插入排序 运用了函数指针数组
- C++三种排序,快速排序、选择排序、冒泡排序----简单代码
- java实现各种基础排序(冒泡排序、快速排序、直接选择排序、堆排序、直接插入排序、归并排序)
- java中各种常用排序实现(直接插入排序、直接选择排序、堆排序、冒泡排序、快速排序和归并排序)
- 五、排序算法之简单算法——冒泡排序、简单选择排序和直接插入排序
- 冒泡排序-直接选择排序-直接插入排序-希尔排序-java实现
- Java中的简单排序:冒泡排序,选择排序,插入排序
- 排序与查找简单算法 java代码实现
- 数据结构之排序算法一冒泡排序,直接插入排序,简单选择排序
- [java]排序分类--及选择排序、插入排序、冒泡排序、快速排序的解释图和代码
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序
- Java简单排序之冒泡排序
- java和Android文件下载断点续传和图片下载代码实现,可直接复制简单实现