[C++] 为什么程序总是跳转到vector头文件中,然后终止呢
如下代码实现mergesort,\
#include <iostream>#include <vector>using namespace std;void merge (vector<int> &arr, int first , int mid, int last, vector<int> &crr){ int f = first; int m = mid + 1; int t = 0; while (f <= mid && m <= last) { if (arr[f] < arr[m]) crr[t++] = arr[f++]; else crr[t++] = arr[m++]; } while (f <= mid) crr[t++] = arr[f++]; while (m <= last) crr[t++] = arr[m++]; for (int i = 0; i < t; ++i) arr[first + i] = crr[i];}void mergeSort (vector<int> &arr, int first, int last, vector<int> &crr){ int mid = (first + last) / 2; while (first < mid) { mergeSort (arr, first, mid, crr); mergeSort (arr, mid + 1, last, crr); merge (arr, first, mid, last, crr); }}void mergeSort (vector<int> &arr){ vector<int> crr (arr.size()); mergeSort (arr, 0, arr.size() - 1, crr);}int main (){ int a[] = { 1, 10, 20, 30, 50, 2, 88, 4, 60, 100 }; vector<int> arr (a, a + 10); mergeSort (arr); for (vector<int>::iterator iter = arr.begin(); iter != arr.end(); ++iter) cout << *iter << '\t';