資料結構中常用演算法

2021-07-25 03:00:54 字數 1347 閱讀 6049

排序常用的演算法有:插入演算法(直接插入演算法、折半插入演算法、希爾演算法)、選擇演算法(簡單選擇演算法、堆排序演算法)、快速演算法(氣泡排序、快速排序演算法)

以下程式給出了各種演算法的實現,其介面為void sort(int *array,int len),每個檔案實現乙個演算法, 最後和main.c檔案編譯實現。

1、直接插入演算法:

//direct_insert_sort.c

void sort(int *array,int len)  

array[j+1]=tmp;

} }

}

2、折半插入排序

//binary_insert_sort.c

void sort(int *array,int len)  

for(j=i-1;j>=low;j--)

array[low]=tmp;

} }

}

3、希爾排序

//shell_sort.c

void sort(int *array,int len)  

} }while(gap > 1);

}

4、簡單選擇排序

//******_select_sort

void sort(int *array,int len)  

} static void heapadjust(int * array,int start,int end)

array[start]=tmp;

}

6、氣泡排序

//bubble_sort.c

void sort(int * array,int len)  

}

}

7、快速排序

//quick_sort.c

static int partition(int *array,int low,int high);  

static void quicksort(int *array,int start,int end);

void sort(int *array,int len)

static void quicksort(int *array,int start,int end)

} static int partition(int *array,int low,int high)

int main()

資料結構 資料結構中常用的排序演算法

排序是資料結構中重要的內容,也是面試過程中經常涉及的部分。在這裡,我給出幾個基本的排序演算法的c c 對於具體的排序的原理,不做太多的介紹,隨便找一本資料結構教材都能弄清楚。宣告 1 以下給出的 並沒有判斷邊界條件,只是給出了演算法的核心 如果遇到具體的問題,應該加以判斷。2 演算法實現的是公升序排...

STL中常用資料結構

stl中常用的資料結構 1 stack queue預設的底層實現為deque結構。2 deque 用map管理多個size大小的連續記憶體塊,方便頭尾插入。3 vector 變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。4 priority queue底層預設採用vector向量o nlog...

STL中常用資料結構

stl中常用的資料結構 1 stack queue預設的底層實現為deque結構。2 deque 用map管理多個size大小的連續記憶體塊,方便頭尾插入。3 vector 變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。4 priority queue底層預設採用vector向量o nlog...