//排序算法问题
#include<iostream>
#include<cstdlib>
using namespace std;
const unsigned int N=10;
void DscSort(const int InputArray[], unsigned int n, int OutputArray[])
{
int temp=0;
for(int i=0;i<n;i++)
OutputArray[i]=InputArray[i];
//带哨兵的冒泡排序法
for(int i=0;i<n-1;i++)
{
bool is_sorted=true;
for(int j=0;j<n-1-i;j++)
{
if(OutputArray[j] > OutputArray[j+1])
{
is_sorted=false;
temp=OutputArray[j];
OutputArray[j]=OutputArray[j+1];
OutputArray[j+1]=temp;
}
}
if(is_sorted)
break;
}
}
int main(void)
{
int InputArray[N]; //排序前
int OutputArray[N];//排序后
cout<<"请输入"<<N<<"个整数:"<<endl;
cout<<"InputArray=";
for(int i=0;i<N;i++)
cin>>InputArray[i];
cout<<endl;
DscSort(InputArray,N,OutputArray);
cout<<"降序后"<<N<<"个整数:"<<endl;
cout<<"OutputArray=";
for(int i=N-1;i>=0;i--)
cout<<OutputArray[i]<<" ";
cout<<endl;
system("pause");
return 0;
}