C語言排序演算法 快速排序 插入排序

2021-10-05 10:39:22 字數 801 閱讀 5596

1、插入排序

插入排序(英語:insertion sort)是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。有點像玩撲克牌時整理紙牌順序

void

insert

(int arr,

int n)

} arr[i]

=key;

}void

insertion_sort

(int arr,

int len)

}

2、快速排序

在區間中隨機挑選乙個元素作基準,將小於基準的元素放在基準之前,大於基準的元素放在基準之後,再分別對小數區與大數區進行排序。

#include

void

quicksort

(int arr,

int l,

int r)

while

(arr[j]

>pivot)

if(i<=j)}if

(lif(i}int

main

(void);

int i;

quicksort

(arr,0,

8);for

(i=0

;i<9;

++i)

printf

("%d "

,arr[i]);

printf

("\n");

return0;

}

排序演算法 一 快速插入排序

因為對演算法這一項實在是弱爆了,對自己從零開始學習,慢慢記錄過程,加油哦 再因為最近在學習python和lua,就分別用兩種語言都實現了 快速插入排序 color blue 基本思想 color 假設是 從小到大,公升序 每次選擇乙個元素k插入已排好序的l 1.i 部分,如果l x k,則k插入到l...

C語言之排序演算法 插入排序

include include include define arraynum 10 int sortarraycreate int num for int i 0 i 0 ptr j tmp j 查詢之前的幾項,如果存在比它大的話就一直移動直到比它小的時候,或者到達最頂端的時候停止移動 ptr j...

C 語言排序演算法之插入排序

1.基本思想 將未排序的資料元素按大小順序插入到已排好序資料序列中,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。例如 對2,4,3,1,6,5進行插入排序。進行排序前,預設2是有序的,為有序區,而4,3,1,6,5是無序的,為無序區。將這五個無序的數按從小到大的順序插入到有序區。...