用sort函数对int型的数组进行排序:【升序】
方法一:
1 #include<iostream>
2 #include <algorithm>
3 using namespace std;
4 int main()
5 {
6 int data[100];
7 int n;
8 int i;
9 while(~scanf("%d",&n))
10 {
11 for(i=0;i<n;i++)
12 scanf("%d",&data[i]);
13 sort(data,data+n);
14 for(i=0;i<n;i++)
15 {
16 if(i==0)
17 printf("%d",data[i]);
18 else
19 printf(" %d",data[i]);
20 }
21 printf("n");
22 }
23 return 0;
24 }
方法二:利用C++标准库#include
1 #include<iostream>
2 #include <algorithm>
3 #include<functional>
4 using namespace std;
5
6 int main()
7 {
8 int data[100];
9 int n;
10 int i;
11 while(~scanf("%d",&n))
12 {
13 for(i=0;i<n;i++)
14 scanf("%d",&data[i]);
15 sort(data,data+n,greater<int>());
16 for(i=0;i<n;i++)
17 {
18 if(i==0)
19 printf("%d",data[i]);
20 else
21 printf(" %d",data[i]);
22 }
23 printf("n");
24 }
25 return 0;
26 }
用sort函数对int型的数组进行排序:【降序】添加一个compare函数
#include<iostream>
#include <algorithm>
using namespace std;
bool compare(int a,int b)
{
return a>b;
}
int main()
{
int data[100];
int n;
int i;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)
scanf("%d",&data[i]);
sort(data,data+n,compare);
for(i=0;i<n;i++)
{
if(i==0)
printf("%d",data[i]);
else
printf(" %d",data[i]);
}
printf("n");
}
return 0;
}
方法二:用C++标准库#include
1 #include<iostream>
2 #include <algorithm>
3 #include<functional>
4 using namespace std;
5
6 int main()
7 {
8 int data[100];
9 int n;
10 int i;
11 while(~scanf("%d",&n))
12 {
13 for(i=0;i<n;i++)
14 scanf("%d",&data[i]);
15 sort(data,data+n,less<int>());
16 for(i=0;i<n;i++)
17 {
18 if(i==0)
19 printf("%d",data[i]);
20 else
21 printf(" %d",data[i]);
22 }
23 printf("n");
24 }
25 return 0;
26 }
用sort函数对char型的数组进行排序:【升序】
方法一:
1 #include<iostream>
2 #include <algorithm>
3 using namespace std;
4
5 int main()
6 {
7 char data[100];
8 int n;
9 int i;
10 char temp;
11 while(~scanf("%d",&n))
12 {
13 getchar();
14 for(i=0;i<n*2;i++)
15 {
16 temp=getchar();
17 if(temp!=' ')
18 data[(i+1)/2]=temp;
19 }
20 sort(data,data+n);
21 for(i=0;i<n;i++)
22 {
23 if(i==0)
24 printf("%c",data[i]);
25 else
26 printf(" %c",data[i]);
27 }
28 printf("n");
29 }
30 return 0;
31 }
方法二:利用C++标准库#include
1 #include<iostream>
2 #include <algorithm>
3 #include<functional>
4 using namespace std;
5
6 int main()
7 {
8 char data[100];
9 int n;
10 int i;
11 char temp;
12 while(~scanf("%d",&n))
13 {
14 getchar();
15 for(i=0;i<n*2;i++)
16 {
17 temp=getchar();
18 if(temp!=' ')
19 data[(i+1)/2]=temp;
20 }
21 sort(data,data+n,less<int>());
22 for(i=0;i<n;i++)
23 {
24 if(i==0)
25 printf("%c",data[i]);
26 else
27 printf(" %c",data[i]);
28 }
29 printf("n");
30 }
31 return 0;
32 }
用sort函数对char型的数组进行排序:【降序】添加一个compare函数
1 #include<iostream>
2 #include <algorithm>
3 using namespace std;
4
5 bool compare(char a,char b)
6 {
7 return a>b;
8 }
9
10 int main()
11 {
12 char data[100];
13 int n;
14 int i;
15 char temp;
16 while(~scanf("%d",&n))
17 {
18 getchar();
19 for(i=0;i<n*2;i++)
20 {
21 temp=getchar();
22 if(temp!=' ')
23 data[(i+1)/2]=temp;
24 }
25 sort(data,data+n,compare);
26 for(i=0;i<n;i++)
27 {
28 if(i==0)
29 printf("%c",data[i]);
30 else
31 printf(" %c",data[i]);
32 }
33 printf("n");
34 }
35 return 0;
36 }
方法二:用C++标准库#include
1 #include<iostream>
2 #include <algorithm>
3 #include<functional>
4 using namespace std;
5
6 int main()
7 {
8 char data[100];
9 int n;
10 int i;
11 char temp;
12 while(~scanf("%d",&n))
13 {
14 getchar();
15 for(i=0;i<n*2;i++)
16 {
17 temp=getchar();
18 if(temp!=' ')
19 data[(i+1)/2]=temp;
20 }
21 sort(data,data+n,greater<int>());
22 for(i=0;i<n;i++)
23 {
24 if(i==0)
25 printf("%c",data[i]);
26 else
27 printf(" %c",data[i]);
28 }
29 printf("n");
30 }
31 return 0;
32 }
原文链接: https://www.cnblogs.com/XBWer/archive/2012/07/24/2606183.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/56528
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!