交换排序

原创 2015年11月18日 08:27:58
package test;

public class BubbleSort {

public static void main(String[] args) {
int[] arr = { 91, 55, 18, 39, 47, 62, 48, 16, 4 };
sort(arr);
}

public static void sort(int[] arr) {
//冒泡排序两层循环
int temp;
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]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int k = 0; k < arr.length; k++) {
System.out.print(arr[k]+" ");
}

}
}





package test;
/**快速排序
 * 需要两个函数:
① 递归函数  public static void quickSort(int[]n ,int left,int right)
② 分割函数(一趟快速排序函数) public static int partition(int[]n ,int left,int right)
 * @author Administrator
 *
 */
public class QuickSort {  
  
public static void main(String[] args) {
int [] arr = {49,38,65,97,76,13,27};  
quickSort(arr,0,arr.length-1);
for (int i = 0; i < arr.length; i++) {  
            System.out.print(arr[i]+" ");  
        } 
}
public static void quickSort(int[] arr, int left, int right){
int key; 
if(left<right){
key=partition(arr, left, right);
quickSort(arr, left, key-1);
quickSort(arr, key+1, right);
}
}
//一趟排序
public static int partition(int[] arr, int left, int right){
int key=arr[left];
while(left<right){
while(left<right&&arr[right]>=key) right--;
   arr[left]=arr[right];
   
while(left<right&&arr[left]<=key) left++;
            arr[right]=arr[left];
}
arr[left]=key;
return left;
}
}  


相关文章推荐

交换排序.cpp

  • 2008年03月31日 22:07
  • 596B
  • 下载

一个用c++写的交换排序

  • 2009年09月12日 23:37
  • 768B
  • 下载

黑马程序员_交换排序

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------...

交换排序Java实现

  • 2016年04月19日 09:58
  • 9KB
  • 下载

交换排序实现源码

  • 2011年11月29日 12:01
  • 6KB
  • 下载

【算法面试题】交换排序问题

面试题原数组pArr为[‘A’,’B’,’C’,’D’,’E’],现在给定新位置pPos[3,0,1,4,2],要求只能采用交换的方式并按照新位置进行排序,要求空间复杂度为O(1)。排好序后的序列为 ...

交换排序\快速排序

  • 2013年04月05日 17:54
  • 22KB
  • 下载

交换排序详解(转)

【版权声明:转载请保留出处:blog.csdn.net/algorithm_only。邮箱:liuy0711@foxmail.com】 交换排序的基本思想是:两两比较待排序记录的关键字,...

交换排序\冒泡排序.

  • 2013年04月05日 17:56
  • 21KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:交换排序
举报原因:
原因补充:

(最多只允许输入30个字)