几种常见的排序算法
2013-09-16 10:31
176 查看
选择排序
插入排序
插入排序的经典写法
冒泡排序
jdk提供的排序方法Arrays.sort(ary)的效率要比我们之前写的选择排序,冒泡排序效率高。
递归实现原理之前,我们先了解一下栈内存。 栈内存是计算机中的一种数据存储方式,是Java迚程启动时候在内存中开辟的存储空间。
栈内存的利用方式遵循LIFO(后迚先出)原则
Java所有局部变量都在栈中分配(压入), 方法的参数也是局部变量, 局部变量在离开作用域时候回收,就是从栈中弹出(删除)。
Java中所有的局部变量都是在栈内存中分配的(包括方法中声明的变量、方法的参数)。
// 选择排序算法 private static void selectionSort(int[] ary) { /** * 选择排序原理:将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素 . * 循环第1条规则,找出最小元素,放于第1个位置 . 经过n-1轮比较完成排序 */ for (int i = 0; i < ary.length - 1; i++) { for (int j = i + 1; j < ary.length; j++) { if (ary[i] > ary[j]) { // 定义临时变量temp int temp = ary[j]; ary[j] = ary[i]; ary[i] = temp; } } } }
插入排序
//插入排序 private static void insertSort(int[] ary) { /** *将数组分为两部分, 将后部分的第一个逐一与前部分每一个元素比较,在合理位置插入 *插入排序算法效率要高于选择排序和冒泡排序 */ for(int i=1;i<ary.length;i++){ for(int j=i-1;j>=0;j--){ if(ary[j]>ary[j+1]){ int temp=ary[j]; ary[j]=ary[j+1]; ary[j+1]=temp; } } } }
插入排序的经典写法
冒泡排序
private static int[] bubbleSort(int[] ary) { /** *比较相邻的元素,将小的放到前面。 *i的取值范围是: i = 0 ~ <ary.length-1 *j的取值范围是: j = 0 ~ <ary.length - i -1 *交换步骤伪代码如下: if([j]>[j+1]){ [j]<->[ */ for(int i=0;i<ary.length-1;i++){ for(int j=0;j<ary.length-i-1;j++){ if(ary[j]>ary[j+1]){ int temp=ary[j]; ary[j]=ary[j+1]; ary[j+1]=temp; } } } return ary; }
jdk提供的排序方法Arrays.sort(ary)的效率要比我们之前写的选择排序,冒泡排序效率高。
递归实现原理之前,我们先了解一下栈内存。 栈内存是计算机中的一种数据存储方式,是Java迚程启动时候在内存中开辟的存储空间。
栈内存的利用方式遵循LIFO(后迚先出)原则
Java所有局部变量都在栈中分配(压入), 方法的参数也是局部变量, 局部变量在离开作用域时候回收,就是从栈中弹出(删除)。
Java中所有的局部变量都是在栈内存中分配的(包括方法中声明的变量、方法的参数)。
相关文章推荐
- 用Java实现几种常见的排序算法-Java基础-Java-编程开发
- 几种常见的排序算法概述
- Java实现几种常见的排序算法
- java讲讲几种常见的排序算法(二)
- 常见几种排序算法的C++描述
- 几种常见的排序算法
- Java之美[从菜鸟到高手演变]之常见的几种排序算法-插入、选择、冒泡、快排、堆排等
- java中几种常见的排序算法
- 几种常见的排序算法
- 几种比较常见的排序算法
- 几种常见排序算法总结(java版)
- 几种JAVA常见排序算法
- 几种常见的排序算法总结
- 几种常见的排序算法---插入排序
- 用Java实现几种常见的排序算法
- Java之常见的几种排序算法-插入、选择、冒泡、快排、堆排等
- 用Java实现几种常见的排序算法
- Java之美[从菜鸟到高手演变]之常见的几种排序算法-插入、选择、冒泡、快排、堆排等
- 排序算法:几种常见的排序算法的C语言代码
- 几种常见排序算法