(Java)常用排序
来源:互联网 发布:什么算视听节目知乎 编辑:程序博客网 时间:2024/06/03 22:03
直接插入排序
基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。
public void InsertSort(array a){ int i,j; for(i = 1; i < a.length; i++){ int temp = a[i]; for(j = i - 1; j >= 0 ; j--){ if(a.[j] > temp){ a.[j+1] = a.[j]; }else{ break; } } a.[j+1] = temp; }}
选择排序
基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
public void SelectionSort(array a){ for(int i = 0; i < a.length - 1; i++){ int MinIndex = i; for(int j = i + 1; j < a.length; j++){ if(a[MinIndex] > a[j]){ MinIndex = j; } } if(MinIndex != i){ int temp = a[i]; a[i] = a[MinIndex]; a[MinIndex] = temp; }}
冒泡排序
基本思想:从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,……第i趟需要比较n-i次。
public void BubbleSort(array ar){ for(int i = 0 ; i < ar.length-1; i++) { for(int j = 0; j < ar.length-1-i; j++){ if(ar[j] >= ar[j+1]){ int temp; temp = ar[j]; ar[j] = ar[j+1]; ar[j+1] = temp; } } } }
0 0
- (Java)常用排序
- java排序(数组)常用排序总结
- 常用排序算法(Java)
- 常用排序算法的实现(JAVA)
- Java 常用排序算法 (详解)
- java常用排序总结(七种)
- 常用排序算法(java版)
- java常用排序算法
- java常用排序
- java常用排序
- java常用排序
- java常用排序
- java常用排序法
- 常用java排序
- Java 常用排序算法
- java常用排序算法
- java 常用的排序
- java常用排序算法
- MFC + 自定义类的序列化与反序列化
- 先进驾驶辅助系统ADAS接口协议ADASIS v2简介
- Android集成微信支付(适合小白)
- UITableVIew优化
- 编码练习——Java-1-基础
- (Java)常用排序
- 微服务实战(二):使用API Gateway
- Bootstrap使用Tab和dropdown实现导航下拉菜单效果
- ansj源码浅析1
- HDU 1242 Rescue
- 【计算机组成原理】存储器
- Android中Dex分包实践
- 贪心_4
- CXF发布中java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log问题