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,否则下标超界。
欢迎分享,转载请注明来源:优选云