PAT 排序 演算法排序

2021-10-06 20:22:39 字數 1311 閱讀 2326

//核心: 插入排序 + 歸併排序 

//1.插入排序:

// (1)從有兩個的時候開始:

// (2)每一輪排序

//// for(int i=2;i<=n;i++)

//2.歸併排序:

// (1)從有兩個的時候開始: step/2<=n, step*2

// (2)從0開始, 每乙個部分進行排序

//// for(int step=2; step/2<=n; step*=2)

// }

//3.記住swap函式可以直接用

#include #include #include using namespace std;

int n, flag=0;

vectorinput1, input2;

vectorresults;

void show(vectorv)

printf("\n");

}//1.迴圈: 排前幾個數

//2.如果相等, 再排一次, 返回

//3.迴圈出來, 則不是

void insertsort()

}void downadjust(int low, int high)

else break; }}

//1.從n/2處開始建堆

//2.如果相等, 再交換一次, 返回

void heapsort()

}int main()

else if (flag == 2)

return 0;

}

//核心:   尋找每個元素左邊的最大值, 右邊的最小值 

//1.左邊最大, 右邊最小

// (1)左邊最大:leftmax[i]=max(leftmax[i-1], inputs[i-1]);

// (2)右邊最小:rightmin[i]=min(rightmin[i+1], inputs[i+1]);

了乙個pa: 在最後加 printf("\n"); 可以de掉乙個pe

#include #include #include using namespace std;

const int inf = 0x7fffffff;

int n;

vectorinputs, leftmax, rightmin, results;

//輸出數的層序和中序

int main()

printf("\n");

return 0;

}

排序演算法 排序演算法之選擇排序

最近在學習排序演算法,就排序演算法中的四大經典排序 氣泡排序 快速排序 選擇排序 插入排序。會出一系列的講解排序演算法的部落格。今天繼快速排序之後整理一下選擇排序。選擇排序,就是從一列未排序的陣列中先選出最小 最大 的數,放在陣列的第一位,第一位原來的數字放在最小的原來的位置,再選出第二小的數,放在...

排序演算法 排序演算法彙總

排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...

排序演算法 排序演算法彙總

排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...