java经典排序算法
来源:互联网 发布:广州凯申物流 知乎 编辑:程序博客网 时间:2024/05/16 08:46
1、冒泡排序
static void bubble_sort(int[] str) { for (int i = 0; i < str.length; i++) { for (int j = i; j < str.length; j++) { if (str[i] > str[j]) { int temp = str[i]; str[i] = str[j]; str[j] = temp; } } } }
2、交叉排序
public static void quickSort(int[] A, int start, int end) { if (start < end) { int pivotLocation = partition(A, start, end); quickSort(A, start, pivotLocation - 1); quickSort(A, pivotLocation + 1, end); }}private static int partition(int[] A, int start, int end) { int pivot = A[end]; int i = start; for (int j = start; j < end; ++j) { if (A[j] <= pivot) { int tmp = A[i]; A[i] = A[j]; A[j] = tmp; ++i; } } A[end] = A[i]; A[i] = pivot; return i;}
3、调整数据奇数位于偶数前面(冒泡原理)
public static void reOrderArray(int [] array) { int temp; for(int i=0;i<array.length; i++){ for(int j=0; j<array.length-1; j++){ if(array[j]%2==0 && array[j+1]%2==1){ temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } } }
4、获取最长回文字符串
public static String longestPalindrome1(String s) { int maxPalinLength = 0; String longestPalindrome = null; int length = s.length(); for (int i = 0; i < length; i++) { for (int j = i + 1; j < length; j++) { int len = j - i; String curr = s.substring(i, j + 1); if (isPalindrome(curr)) { if (len > maxPalinLength) { longestPalindrome = curr; maxPalinLength = len; } } } } return longestPalindrome; } public static boolean isPalindrome(String s) { for (int i = 0; i < s.length() - 1; i++) { if (s.charAt(i) != s.charAt(s.length() - 1 - i)) { return false; } } return true; }
5、快速排序
public static void quickSort(int[] A, int start, int end) { if (start < end) { int pivotLocation = partition(A, start, end); quickSort(A, start, pivotLocation - 1); quickSort(A, pivotLocation + 1, end); }}private static int partition(int[] A, int start, int end) { int pivot = A[end]; int i = start; for (int j = start; j < end; ++j) { if (A[j] <= pivot) { int tmp = A[i]; A[i] = A[j]; A[j] = tmp; ++i; } } A[end] = A[i]; A[i] = pivot; return i;}
阅读全文
0 0
- JAVA经典排序算法
- java经典排序算法
- java经典排序算法
- java经典算法排序
- JAVA 经典排序算法
- java经典排序算法
- java经典排序算法
- 经典排序算法-java
- java经典排序算法
- java经典排序算法
- java的经典排序算法
- 经典排序算法-Java版
- 经典排序算法(java版)
- Java中的经典排序算法
- 经典排序算法JAVA实现
- JAVA经典排序算法总结
- Java经典排序算法之冒泡排序
- java的相关排序算法,经典
- NETGEAR WNDR3800 刷机支持ipv6 部署本地git服务器
- Java+Selenium3方法篇18-获取当前页的源码
- TCP建立/关闭连接时握手过程中的状态情况
- Object-c的bool值的比较说明
- 装饰器学习
- java经典排序算法
- Windows 10安装MySQL配置时无响应解决方法
- DHCP服务器回复数据包是单播还是广播的争议
- Selenium2+python自动化7-xpath定位
- 了解资本与公司年报、财报
- C语言之电子时钟程序
- spring事务回滚问题
- 大脑双核单总线模型~《程序员思维的修炼》读后感
- Kotlin-10.接口(interface)