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

2021-07-22 03:20:59 字數 920 閱讀 5560

排序是資料結構中重要的內容,也是面試過程中經常涉及的部分。在這裡,我給出幾個基本的排序演算法的c/c++**。對於具體的排序的原理,不做太多的介紹,隨便找一本資料結構教材都能弄清楚。

##宣告:

1、以下給出的**並沒有判斷邊界條件,只是給出了演算法的核心**,如果遇到具體的問題,應該加以判斷。

2、演算法實現的是公升序排列。

#1、插入排序

##1、直接插入排序

void insertsort(int* a, int n)

}}

##2、希爾排序

void shellsort( int* a, int n )

} if (flag==false)

return;

}}

##2、快速排序

void quicksort( int* a, int low, int high )

}void buildmaxheap( int* a, int n )

}void adjustdown( int* a, int k, int n ) // 將元素k向下調整

} a[k] = a[0]; // 被篩選結點的最終位置

}void adjustup(int* a, int k) // k為堆元素個數

{ a[0] = a[k];

int i = k/2;

while(i>0 && a[i]#4、歸併排序

##1、二路歸併排序

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...

資料結構中常用演算法

排序常用的演算法有 插入演算法 直接插入演算法 折半插入演算法 希爾演算法 選擇演算法 簡單選擇演算法 堆排序演算法 快速演算法 氣泡排序 快速排序演算法 以下程式給出了各種演算法的實現,其介面為void sort int array,int len 每個檔案實現乙個演算法,最後和main.c檔案編...