1. 程式人生 > 實用技巧 >如何將Python源程式生成Windows可執行程式“.exe”檔案

如何將Python源程式生成Windows可執行程式“.exe”檔案

1.介紹

快速排序(QuickSort)是對氣泡排序的一種改進,基本思想是:通過一趟排序將要排序的資料分割成獨立的兩部分,

其中一部分的所有資料都比另一部分的所有資料都要小,然後再按此方法對這兩部分資料分別進行快速排序,整個排序過程可以遞迴

以此達到整個資料變成有序序列

2.示意圖

3.示例

要求:對[-9,78,0,23,-567,70] 進行從大到小排序

    public class QuickSort
{
public static void Test()
{
int[] arr = { -, , , , -, }; Sort(arr,,arr.Length-); System.Console.WriteLine(string.Join(",",arr));
} public static void Sort(int[] arr ,int left,int right)
{
int l = left; int r = right; //中間值
int middle = arr[(l + r) / ]; //temp臨時變數
int temp = ; //while迴圈的目的是讓比middle值小的放在左邊 比middle大的值放在右邊
while (l<r)
{
//在middle的左邊一直找,找到大於等於middle的值才退出
while (arr[l]<middle)
{
l++;
}
//在middle的右邊邊一直找,找到小於等於middle的值才退出
while (arr[r]>middle)
{
r -= ;
} //如果l>=說明middle的左邊兩邊的值,已按照左邊全是小於等於middle的值,右邊都是大於middle的值
if (l>=r)
{
break;
} //交換 temp = arr[l]; arr[l] = arr[r]; arr[r] = temp; //如果交換完之後,發現這個arr[l]==middle這個值 ,-- 前移
if (arr[l]==middle)
{
r -= ;
} //如果交換完之後,發現這個arr[r]==middle這個值 ,++ 後移
if (arr[r]==middle)
{
l++;
} } //如果l==r,必須l++,r--,否則會出現棧溢位
if (l==r)
{
l += ; r -= ;
} //向左遞迴
if (left<r)
{
Sort(arr, left, r);
} //向右遞迴
if (right>l)
{
Sort(arr, l, right);
} }
}

效果圖