本文共 1871 字,大约阅读时间需要 6 分钟。
1 #include2 using namespace std; 3 inline int read() 4 { 5 int x=0,f=1; 6 char ch=getchar(); 7 while(ch<'0'||ch>'9') 8 { 9 if(ch=='-')10 f=-1;11 ch=getchar();12 }13 while(ch>='0'&&ch<='9')14 {15 x=x*10+ch-'0';16 ch=getchar();17 }18 return x*f;19 }20 inline void write(int x)21 {22 if(x<0)23 {24 putchar('-');25 x=-x;26 }27 if(x>9)28 {29 write(x/10);30 }31 putchar(x%10+'0');32 }33 int a[100];34 int n;35 int main()36 {37 cin>>n;38 for(int i=1;i<=n;i++)39 cin>>a[i];40 //从小到大排序41 /*42 for(int i=1;i<=n-1;i++)43 {44 for(int j=1;j<=n-i;j++)45 {46 if(a[j]>a[j+1])47 swap(a[j],a[j+1]);48 }49 }50 */51 //从大到小排序52 for(int i=1;i<=n-1;i++)53 {54 for(int j=1;j<=n-i;j++)55 {56 if(a[j]
实例分析:
1 //题意:输入一个整数n,表示有n个人,接下n行每行对应一个人名和此人的成绩,按照成绩从大到小的顺序输出人名 2 //分析:冒泡排序的简单使用 3 #include4 using namespace std; 5 inline int read() 6 { 7 int x=0,f=1; 8 char ch=getchar(); 9 while(ch<'0'||ch>'9')10 {11 if(ch=='-')12 f=-1;13 ch=getchar();14 }15 while(ch>='0'&&ch<='9')16 {17 x=x*10+ch-'0';18 ch=getchar();19 }20 return x*f;21 }22 inline void write(int x)23 {24 if(x<0)25 {26 putchar('-');27 x=-x;28 }29 if(x>9)30 {31 write(x/10);32 }33 putchar(x%10+'0');34 }35 struct Student36 {37 char score;38 char name[20];39 }p[100];40 int main()41 {42 int n;43 cin>>n;44 for(int i=1;i<=n;i++)45 cin>>p[i].name>>p[i].score;46 for(int i=1;i<=n-1;i++)47 {48 for(int j=1;j<=n-i;j++)49 {50 if(p[j].score
时间复杂度为O(n^2)
转载地址:http://amupx.baihongyu.com/