早教吧作业答案频道 -->其他-->
帮我找找我这段程序哪里错了?c++编程,使用以下格式给定一个输入,读取数据后,用快速排序法将每排从小到大重新排好(Quicksort:pivot=(x[left]+x[right])/2)Cases:3101234567891010109876543
题目详情
帮我找找我这段程序哪里错了?
c++编程,使用以下格式给定一个输入,读取数据后,用快速排序法将每排从小到大重新排好(Quicksort:pivot = (x[left] + x[right])/2)
Cases:3
10
1 2 3 4 5 6 7 8 9 10
10
10 9 8 7 6 5 4 3 2 1
11
8 1 11 2 10 9 3 4 7 6 5
我的程序,结果是
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 1
1 2 3 4 7 8 9 10 11 6 5
#include
using namespace std;
// The partition function
int partition(int* input,int p,int r)
{
\x05 int pivot = (input[p] + input[r])/2;
while ( p < r )
{
while ( input[p] < pivot )
p++;
while ( input[r] > pivot )
r--;
if ( input[p] == input[r] )
p++;
else if ( p < r )
{
int tmp = input[p];
input[p] = input[r];
input[r] = tmp;
}
}
return r;
}
// The quicksort recursive function
void quicksort(int* input,int p,int r)
{
if ( p < r )
{
int j = partition(input,p,r);
quicksort(input,p,j-1);
quicksort(input,j+1,r);
}
}
int main()
{
\x05int input[100],i,n,beg,end,test,j;
\x05couttest;
\x05coutinput[i];
\x05\x05}
\x05\x05
\x05\x05beg=0;
\x05\x05end=n-1;
\x05\x05quicksort(input,0,9); //Calling of QuickSort Function
\x05\x05for(i=1;i
c++编程,使用以下格式给定一个输入,读取数据后,用快速排序法将每排从小到大重新排好(Quicksort:pivot = (x[left] + x[right])/2)
Cases:3
10
1 2 3 4 5 6 7 8 9 10
10
10 9 8 7 6 5 4 3 2 1
11
8 1 11 2 10 9 3 4 7 6 5
我的程序,结果是
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 1
1 2 3 4 7 8 9 10 11 6 5
#include
using namespace std;
// The partition function
int partition(int* input,int p,int r)
{
\x05 int pivot = (input[p] + input[r])/2;
while ( p < r )
{
while ( input[p] < pivot )
p++;
while ( input[r] > pivot )
r--;
if ( input[p] == input[r] )
p++;
else if ( p < r )
{
int tmp = input[p];
input[p] = input[r];
input[r] = tmp;
}
}
return r;
}
// The quicksort recursive function
void quicksort(int* input,int p,int r)
{
if ( p < r )
{
int j = partition(input,p,r);
quicksort(input,p,j-1);
quicksort(input,j+1,r);
}
}
int main()
{
\x05int input[100],i,n,beg,end,test,j;
\x05couttest;
\x05coutinput[i];
\x05\x05}
\x05\x05
\x05\x05beg=0;
\x05\x05end=n-1;
\x05\x05quicksort(input,0,9); //Calling of QuickSort Function
\x05\x05for(i=1;i
▼优质解答
答案和解析
for(i=1;i>input[i];
}
输入的时候是下标1~n
quicksort(input, 0, 9);
为什么排序时候会是0~9呢,应该是也是1~n才对吧
}
输入的时候是下标1~n
quicksort(input, 0, 9);
为什么排序时候会是0~9呢,应该是也是1~n才对吧
看了 帮我找找我这段程序哪里错了?...的网友还看了以下:
下列句中加点成语使用有误的一项是()A.他对人说话,总是满口之乎者也,叫人半懂不懂的.B.为了迎接 2020-06-15 …
编钟是中国传统的古老打击乐器,由青铜铸成,它由不同的钟依照大小排列,并悬挂在一个巨大的钟架上,编钟 2020-06-26 …
1.任意输入10数,编程输出正数个数,正数和,负数个数,负数和.2.编程输出S=1!+2!+3!+ 2020-07-30 …
求高手用C编的编的对了我追加100分教学计划编制问题任务:针对计算机系本科课程,根据课程之间的依赖关 2020-11-21 …
张老师编写了5道例题,并将这5道例题ABCDE按照例1-例5依次排好了顺序.第二天觉得顺序不合适,又 2020-11-28 …
某校同学编排了历史剧,小刚和小强应邀扮演了剧中两个人物。情景一:小刚奋笔疾书谱写了《义勇军进行曲》. 2020-12-23 …
学校举行运动会,教练叫1-50号运动员按顺序排成一排.教练下令,单数的运动员请出列.剩下的运动员请重 2020-12-24 …
小明编排了一个有关原始社会父系氏族公社的节目,这个节目中有以下几个情节,请指出哪些是正确的①氏族部落 2020-12-25 …
下列画线词语使用不恰当的一项是:()(2分)A.为迎接艺术节,小明和他的搭档们逢场作戏,精心编排了一 2021-01-01 …
下列画线词语使用不恰当的一项是:()(2分)A.为迎接艺术节,小明和他的搭档们逢场作戏,精心编排了一 2021-01-01 …