您的位置:首页 > 其它

超长数列中的n个整数排序,要求能够把从指定位置m开始的n个数排列成降序,并输出完整的数列

2012-12-13 22:28 267 查看
//超长数列中的n个整数排序,要求能够把从指定位置m开始的n个数排列成降序,并输出完整的数列

#include <iostream>

using namespace std;

class LIST{

public:

 LIST(int p[],int x,int y,int size){

  m=x;n=y;len=size;

  p1=new int[len];

  for (int i=0;i<len;i++)

   p1[i]=p[i];

 }

 void show(){

  for (int j=0;j<len;j++)

   cout<<p1[j]<<" ";

  cout<<endl;

 }

 void Paixu(){

  for (int i=m-1;i<m+n-1;i++)

   for(int j=m-1;j<m+n-2;j++)

    if(p1[j]<=p1[j+1]){

     int temp=p1[j];

     p1[j]=p1[j+1];

     p1[j+1]=temp;

    }

 }

private:

 int m,n,len;

 int *p1;

};

int main(){

 int num;

 cout<<"输入超长数列的长度:"<<endl;

 cin>>num;

 int *p=new int[num];

 cout<<"请输入数列的值:"<<endl;

 for (int i=0;i<num;i++)

  cin>>p[i];

 cout<<endl;

 int m,n;

 cout<<"请输入开始位置值:"<<endl;

 cin>>m;

 cout<<"请输入要排序的个数:"<<endl;

 cin>>n;

 LIST list(p,m,n,num);

 cout<<"原数组为:"<<endl;

 list.show();

 list.Paixu();

 cout<<"现数组为:"<<endl;

 list.show();

 delete [] p;

 return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐