Java算法
来源:互联网 发布:windows高级编程 编辑:程序博客网 时间:2024/06/09 15:53
/** * 冒泡排序法 * 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 */ private void maopaoSort(){ for(int i = 0;i<a.length;i++){ for(int j = 0;j < a.length - 1 - i;j++){ if(a[j] > a[j+1]){ int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } } /** * 选择排序 * 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处 */ private void xuanzeSort(){ for(int i = 0;i<a.length;i++){ for(int j = i + 1; j<a.length;j++){ if(a[i] > a[j]){ int temp = a[i]; a[i] = a[j]; a[j] = temp; } } } } /** * 快速排序法 * 冒泡排序的优化,简单来说就是挖坑分治 */ private void quickSort(){ sort(a, 0, a.length - 1); } private void sort(int a[], int low, int hight) { int i, j, index; if (low > hight) { return; } i = low; j = hight; index = a[i]; // 用子表的第一个记录做基准 while (i < j) { // 从表的两端交替向中间扫描 while (i < j && a[j] >= index){ j--; } if (i < j){ a[i++] = a[j];// 用比基准小的记录替换低位记录 } while (i < j && a[i] < index){ i++; } if (i < j){// 用比基准大的记录替换高位记录 a[j--] = a[i]; } } a[i] = index;// 将基准数值替换回 a[i] sort(a, low, i - 1); // 对低子表进行递归排序 sort(a, i + 1, hight); // 对高子表进行递归排序 }
快速排序法参考
0 0
- java算法:算法基础
- java算法:算法分析
- java算法:递归算法
- java 算法--洗牌算法
- Java算法--LRU算法
- Java 算法
- Java算法
- java算法
- 算法(Java)
- 算法(Java)
- Java 算法
- 算法-java
- JAVA算法
- java算法
- java算法
- java算法
- Java算法
- JAVA 算法
- PyQt4调用partial函数绑定多个信号到相同slot源码实例
- 阿里云ESC Nginx下为WordPress添加伪静态规则
- Spring Cloud微服架构之分布式配置中心
- Micropython加速物联网开发4
- 笔记-TF-IDF
- Java算法
- CRM的应用现状
- Java面试笔记(Java基础)
- css样式float造成的浮动“塌陷”问题的解决办法
- sql中的all
- ionic中的slide-box
- Perl 面向对象编程
- 微信小程序 https ,ssl证书
- 解决word2vec_basic.py无法顺利运行的问题