原创 二叉堆的創建以及新結點的插入(C++實現)

前言 本文中的代碼實現的是最小堆,最大堆的原理與此相似,故省略;另外,由於二叉堆插入結點與刪除結點的操作相反,所以本文中也只實現插入結點的操作,刪除結點的操作的實現略去。 閱讀文中代碼所需的預備知識 二叉堆是一個完全二叉樹,但是它的存儲方

原创 快速排序的兩種思路(C++實現)

雙邊循環法 #include<iostream> using namespace std; int partition(int array[],int startIndex,int endIndex); void quickSort(

原创 二叉樹的建立及遍歷(C++實現)

   包含了二叉樹的遞歸建立、前中後序遍歷的遞歸和非遞歸實現以及層序遍歷的非遞歸實現。 #include<iostream> #include<queue> #include<stack> using namespace std; t

原创 基於隊列的基數排序(使用C++實現)

#include<iostream> #include<cmath> #include<queue>  using namespace std; int main() {         int numbers[11]={10,34,

原创 堆排序(C++的實現)

#include<iostream> using namespace std; //堆排序算法的步驟: //1、把無序數組構建成二叉堆。需要從小到大排序,則構建成最大堆;否則,構建成最小堆。 //2、循環刪除堆頂元素,替換到二叉堆的末尾

原创 雞尾酒排序(C++實現)

#include<iostream> using namespace std; void cocktailSort(int *array,int length){ //大循環控制所有排序回合 for(int i=0;i<leng