我用C++写的一个快排程序,在VC下运行完之后总会出现Debug error的提示,求帮助~

宝宝妈妈2023-04-22  56

#include <iostream>

using namespace std

void QuickSort(int array[], int first, int last) {

int PivotKey = array[(first + last) / 2]//枢轴

int i = first

int j = last

int tempt = 0

do {

while (array[i] <PivotKey) //从两头扫描数组

i++

while (array[j] >PivotKey)

j--

if (i <= j) { //交换数组元素

tempt = array[i]

array[i] = array[j]

array[j] = tempt

i++

j--

}

} while (i <j)

if (i <last) //剩余部分的处理

QuickSort(array, i, last)

if (j >first)

QuickSort(array, first, j)

}

int main(int argc, char* argv[]) {

int number = 0

int index = 0

/*修改的地方*/

cin >>number//待排数组大小

int* array = new int[number]// 这句要放在后面

/*修改的地方*/

for (index = 0index <numberindex++) { //输入待排数组

cin >>array[index]

}

QuickSort(array, 0, number - 1)//调用快排方法

for (index = 0index <numberindex++) { //输出

cout <<array[index] <<endl

}

delete[] array//释放数组空间

array = NULL

}

for(i=0i<Maxsizei++) cin>>a[i] -- 这句规定你必须输入 8 个数 ,不能多,不能少。

cout<<"输入数据个数:"cin>>n -- 必须 给 8 ,不能多,不能少。

da.Quicksort(da.a,0,da.n-1) -- da.n - 1,否则下标超界。


转载请注明原文地址:https://54852.com/read/572509.html