输入整型数组和排序标识,对其元素按照升序或降序进行排序
接口说明
原型:
void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag);
输入参数:
Integer[] pIntegerArray:整型数组
int iSortFlag:排序标识:0表示按升序,1表示按降序
输出参数:
无
返回值:
void
//对数组进行排序,包括升序和降序 //0:升序;1:降序; #include<iostream> #include<vector> #include<algorithm> #include<string> using namespace std; int main() { int n,flag; cin>>n; vector<int> v; vector<int>::iterator iter=v.begin(); int a[128]={0}; for(int i=0;i<n;i++) { cin>>a[i]; v.push_back(a[i]); } cin>>flag; sort(v.begin(), v.end()); if(flag==0) { //升序; for(iter=v.begin();iter!=v.end();iter++) cout<<*iter<<' '; cout<<endl; } else { //降序 for(int j=v.size()-1;j>=0;j--) { cout<<v[j]<<' '; } cout<<endl; } return 0; }
//方法2#include <vector> #include<iostream> #include<string> #include<cctype> #include <algorithm> using namespace std; int main() { int Sort(int n,int a[],int sign); int a[100]={0},n,m,i; cin>>n; for(i=0;i<n;i++) cin>>a[i]; cin>>m; Sort(n,a,m); return 0; } int Sort(int n,int a[],int sign) {////对整形数组进行升降序排列//// int i,j,temp=0; for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(sign==0) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } else if(sign==1) { if(a[i]<a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } } for(i=0;i<n-1;i++) cout<<a[i]<<' '; cout<<a[i]<<endl; return 0; }