新建 文本文档.txt
来自「实现直接插入排序 要求:封装成一个函数」· 文本 代码 · 共 85 行
TXT
85 行
void DirectInsertSort(bool bOrder,bool bPrintEveryStep, long * array,long arraysize)
{
long i,j;
if(bOrder==1) //升序
for(i=2;i<=arraysize;i++)
{ if(array[i]<array[i-1])
{
array[0]=array[i];
array[i]=array[i-1];
for(j=i-1;array[0]<array[j];--j)
array[j+1]=array[j];
array[j+1]=array[0];
}
if(bPrintEveryStep==1)
{ cout<<"第"<<i-1<<"趟排序结果:"; //每趟排序结果输出
for(long n=1;n<arraysize+1;n++)
cout<<array[n]<<",";
cout<<endl;
}
}
if(bOrder==0) //降序
for(i=2;i<=arraysize;i++)
{
if(array[i]>array[i-1])
{
array[0]=array[i];
array[i]=array[i-1];
for(j=i-1;array[0]>array[j];--j)
array[j+1]=array[j];
array[j+1]=array[0];
}
if(bPrintEveryStep==1)
{cout<<"第"<<i-1<<"趟排序结果:";
for(long n=1;n<arraysize+1;n++)
cout<<array[n]<<",";
cout<<endl;
}
}
}
void BubbleSort(bool bOrder,bool bPrintEveryStep, long * array, long arraysize)
{
long n,temp;
if(bOrder==1)
for(int pass=1;pass<arraysize;pass++)
{
for(n=1;n<arraysize-pass;n++)
if(array[n]>array[n+1])
{
temp=array[n];array[n]=array[n+1];
array[n+1]=temp;
}
if(bPrintEveryStep==1)
{
cout<<"第"<<arraysize-n<<"次排序结果:";
for(n=1;n<arraysize;n++)
cout<<array[n]<<" ";
cout<<endl;
}
}
if(bOrder==0)
for(int pass=1;pass<arraysize;pass++)
{
for(n=1;n<arraysize-pass;n++)
if(array[n]<array[n+1])
{
temp=array[n];array[n]=array[n+1];
array[n+1]=temp;
}
if(bPrintEveryStep==1)
{
cout<<"第"<<arraysize-n<<"次排序结果: ";
for(n=1;n<arraysize;n++)
cout<<array[n]<<", ";
cout<<endl;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?