void heap(vector& vecTest)
{
int start;
for(int end = vecTest.size(); end >0;end–)
{
start = end / 2;
for(int child_root = start;child_root>0;child_root–)
{
make_heap(vecTest,child_root,end);
}
int temp = vecTest[0];
vecTest[0] = vecTest[end-1];
vecTest[end-1] = temp;
}
return;
}
归并 ```cpp void merge(vector快排&vec, int left, int right, int mid) { int *help = new int[right - left + 1]; int p1 = left, p2 = mid + 1, i = 0; while (p1 <= mid && p2 <= right) { help[i++] = vec[p1] &vec, int left, int right) { if (left &vec) { if (vec.size() < 2) return; merge_process(vec, 0, vec.size() - 1); } int main() { vector Vec = { 5,4,9,8,6,2,7,1,3 }; merge_sort(Vec); for (auto iter = Vec.begin(); iter != Vec.end(); iter++) { cout << *iter << " "; } system("pause"); return 0; }
void qs(vector& myVec,int left,int right) { int i = left,j = right,temp; int mid = myVec[(left+right)/2]; while(i<=j) { while (myVec[i] mid) j--; if(i<= j) { temp = myVec[i]; myVec[i] = myVec[j]; myVec[j] = temp; i++; j--; } } if (left vector Vec = {5,4,9,8,6,2,7,1,3}; qs(Vec,0,Vec.size()-1); for(auto iter = Vec.begin();iter!=Vec.end();iter++) { cout << *iter <<" "; } return 0; }



