c語言學習日記 排序演算法篇

2021-10-22 11:23:54 字數 781 閱讀 3362

1.快速排序

排序原理

快速排順是對氣泡排序改進,首先這頂乙個值,通過該值將 陣列分為2個部分,小於基準數的放到左邊,大於基準數的放到右邊。之後左右兩邊的資料分別進行排序,而左右兩邊的排序依舊可以採用設定乙個值兩邊排序,這是乙個遞迴的思想。

演算法實現

public static void quicksort(int arr) 

public static void quicksort(int arr, int left, int right)

//在基準值的右邊一直找,直到找到小於等於基準值後才退出

while (arr[r] > p)

//如果l>=r則說明:基準值左側的值都小於基準值右側的值

if (l >= r)

//將基準值左側找到的小值與基準值右側找到的大值進行交換

int temp = arr[l];

arr[l] = arr[r];

arr[r] = temp;

//如果交換完後,發現這個arr[r]等於基準值,l++向前移

if (arr[r] == p)

//如果交換完後,發現這個arr[l]等於基準值,r--向前移

if (arr[l] == p)

}//這一步來防止堆疊溢位

if (l == r)

//向左遞迴進行快速排序

if (left < r)

//向右遞迴進行快速排序

if (right > l)

}

c語言學習篇

c語言 編譯 執行c程式 include intmain 1.了解c語言結構 main 主函式,所有c語言程式都要包含主函式,從main 函式開始執行 include 是乙個預處理的命令,用來引入標頭檔案 stdio.h 是乙個標頭檔案 標準輸入輸出標頭檔案 printf 格式化輸出到螢幕。prin...

c語言學習日記(九)

上三角矩陣指主對角線以下的元素都為0的矩陣 主對角線為從矩陣的左上角至右下角的連線。本題要求編寫程式,判斷乙個給定的方陣是否上三角矩陣。輸入格式 輸入第一行給出乙個正整數t,為待測矩陣的個數。接下來給出t個矩陣的資訊 每個矩陣資訊的第一行給出乙個不超過10的正整數n。隨後n行,每行給出n個整數,其間...

C語言學習日記8

4.1.1 程式執行為什麼需要記憶體?4.1.1.1 計算機程式執行的目的。4.1.1.2 計算機程式執行過程 4.1.1.3 馮諾依曼結構和哈佛結構 馮諾依曼結構是 資料和 放在一起。哈佛結構是 資料和 分開存在。什麼是 函式 什麼是資料 全域性變數 區域性變數。4.1.1.4 動態記憶體dram...