常见排序算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了常见排序算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2209字,纯文字阅读大概需要4分钟。
内容图文
![常见排序算法](/upload/InfoBanner/zyjiaocheng/1319/25d451e610874c95b9edff0475d04524.jpg)
package com.sort; import java.util.Arrays; /** * 〈一句话功能简述〉; * 〈冒泡排序〉 * * @author jxx * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */ public class pop { public static void main(String[] args){ int[] arr = {2,4,5,1,7,9}; System.out.println(Arrays.toString(sortPop(arr))); } publicstaticint[] sortPop(int[] arr) { for(int i=0;i<arr.length - 1;i++) { for(int j=0;j<arr.length - 1 - i;j++) { if(arr[j] > arr[j+1]) { int tmp = arr[i]; arr[i] = arr[j+1]; arr[j+1] = tmp; } } } return arr; } }
package com.sort; import java.util.Arrays; /** * 〈一句话功能简述〉; * 〈快速排序〉 * * @author jxx * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */ public class Rapid { public static void main(String[] args){ int[] arr = {2,4,5,1,7,9}; System.out.println(Arrays.toString(sortRapid(arr,0,arr.length-1))); } publicstaticint[] sortRapid(int[] arr,int low,int high) { int i,j,temp,t; if(low > high) { returnnull; } temp = arr[low]; i=low; j=high; while(i<j) { //右边while(temp<=arr[j]&&i<j) { j--; } //左边while(temp>=arr[i]&&i<j) { i++; } if(i < j) { //交换位置 t = arr[i]; arr[i] = arr[j]; arr[j] = t; } } //将参考数挪到指定位置 arr[low] = arr[i]; arr[i] = temp; //递归左边 sortRapid(arr,low,j-1); //递归右边 sortRapid(arr,j+1,high); return arr; } }
package com.search; /** * 〈一句话功能简述〉; * 〈二分查找法〉 * * @author jxx * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */ public class binSearch { public static void main(String[] args){ int[] arr = {1,2,3,4,5,6}; System.out.println(binSearch(3,arr)); System.out.println(binSearchReturn(5,arr,0,arr.length-1)); } publicstaticint binSearch(int flag,int[] arr) { if(arr.length == 0) { return -1; } int start = 0; int end = arr.length - 1; while(start <= end) { int mid = (start+end)/2; if(flag == arr[mid]) { return mid; } elseif(flag < arr[mid]) { end = mid - 1; } else { start = mid + 1; } } return -1; } publicstaticint binSearchReturn(int flag,int[] arr,int start,int end) { if(start > end) { return -1; } else { int mid = (start+end)/2; if(flag == arr[mid]) { return mid; } elseif(flag < arr[mid]) { return binSearchReturn(flag,arr,start,mid - 1); } else { return binSearchReturn(flag,arr,mid + 1,end); } } } }
原文:https://www.cnblogs.com/jxxblogs/p/12209828.html
内容总结
以上是互联网集市为您收集整理的常见排序算法全部内容,希望文章能够帮你解决常见排序算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。