快速排序實現:
/**
* filename:fastsort
* description:
* author:hcq
* createtime:2019-04-12 10:01
*/public class fastsort ;
arrays.stream(arr).foreach(v -> );
system.out.println("排序後--------");
sort(arr,0,arr.length-1);
arrays.stream(arr).foreach(v -> );
}/**
* 將arr陣列中[begin,end]之間的元素進行排序
* @param arr
* 需要排序的陣列
* @param begin
* 需要排序開始位置
* @param end
* 需要排序的結束位置
*/static void sort(int arr,int begin,int end)else if(arr[point]1)
if(maxcount>1)
}}
歸併排序的實現:
public class mergesort ;
mergesort(arr,0,arr.length-1);
for (int i : arr)
}/**
* 將陣列的[left,right]之間的元素進行排序
* @param arr
* 待排序陣列
* @param left
* 從left處開始排序
* @param right
* 到right處排序結束
*/static void mergesort(int arr,int left,int right)
}/**
* 將兩個有序的子陣列歸併為乙個整體有序的陣列
* @param arr
* 原陣列
* @param left
* 左邊子陣列開始位置
* @param center
* 左邊子陣列結束位置[右邊子陣列開始位置]
* @param right
* 右邊子陣列結束位置
*/static void merge(int arr,int left,int center,int right)else
tmp++;//移動新的複製位置
}//將剩餘資料複製到新陣列中。
while(leftpoint<=center)
while(rightpoint<=right)
//更新原陣列
for(int i=0;i}
}
快速排序 歸併排序
感覺好久之前不寫這些基礎的東西忽然覺著,想複習一下,就簡單溫習一下排序的例子 package com.ruishenh.algoritmic public class sort static void printmsg int arrs system.out.println static int g...
快速排序,歸併排序
快速排序 quicksort 是對 氣泡排序的一種改進。設要排序的 陣列是a 0 a n 1 首先任意選取乙個資料 通常選用陣列的第乙個數 作為關鍵資料,然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。需要注意的是,多個相同的值的相對位置也許會在演算法結束時產...
快速排序 歸併排序
1 快速排序 快速排序利用分治的思想,首先選取乙個哨兵,將陣列中大於哨兵的元素放到一邊,小於陣列的元素放到另一邊,然後對兩邊也進行相同的操作。public void quicksort list t private void quicksort list t,int l,int h 將大於哨兵的放到...