從頭開始學演算法 快速排序

2021-07-05 11:07:33 字數 609 閱讀 3300

需求:給定陣列從小到大排序
快速排序

思路:1、選定第乙個數字為標識flag,將陣列分成兩部分,一部分比flag大,一部分比flag小,

2、再將得到的兩部分分別進行1,直到完成

第一步實現:1、從後向前,找到比flag小的,放到空中,自身空出來

2、從前向後,找到比flag大的,放到空中,自身空出來

3、只到,向前向後指標相遇,把flag放到相遇點

是按照這個思路做的

private static void quicksort(int arr, int start, int end) 

} private static int find(int arr, int start, int end)

if (i < j)

while (arr[i] <= flag && i < j)

if (i < j)

} arr[i] = flag;

return i;

}

最壞o(n^2)

最好o(nlogn)



從頭開始學JDK String

目錄 string 倒序 string 建構函式 string equals string 記憶體 string hashcode string startswith string endwith string indexof string lastindexof string substring ...

從頭開始學MFC

一 win32專案設計 類似於console控制台程式,win32視窗程式的入口函式類似於main 函式,稱之為winmain函式 int winapi wwinmain hinstance hinstance,例項控制代碼 hinstance hprevinstance,前乙個例項控制代碼 pws...

從頭開始學Redis

第一章 概述 1.1 redis之簡介 1.2 redis之安裝 第二章 api 2.1 redisapi之簡介 2.2 redisapi之string 2.3 redisapi之hash 2.4 redisapi之list 2.5 redisapi之set 2.6 redisapi之zset 第三...