所以,我有这个排序功能的问题,我写了排序结构。自定义排序功能与结构
我最初的想法是有一个while
循环,直到没有变化发生了,里面有for
周期,通过一个array[10]
去,比较是彼此相邻的两个元素。如果下一个元素大于前一个元素,则交换它们,并且迭代器回到零。
所有类型的作品,除了第一个元素,不是最高的。从第二到最后,一切都很好。
任何指针,我犯了一个错误?代码似乎对我来说很好... 我知道我可以使用<algorithm>
,但我应该为此编写自己的函数。
void izvadaPecRez(Pari masivs[])
{
Pari temp;
bool change;
int i;
while(change!=false)
{
for(i=0;i<10;i++)
{
if(masivs[i+1].kopejais>masivs[i].kopejais)
{
temp=masivs[i];
masivs[i]=masivs[i+1];
masivs[i+1]=temp;
change=true;
i=0;
}
else
{
change=false;
}
}
}
for(i=0;i<10;i++)
printone(masivs, i);
}
你是否硬编码对象的数量?别。 – crashmstr
你可以写'while(change!= false)'为'while(change == true)'。这更可读。并且'change'没有被初始化,所以默认值将是'false' – Rakib
@RibibulHasan'while(change)' – clcto