第二天

补完了昨天的代码

还有律化娜真好玩,不想写程序了,希尔排序鸽了

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cmath>
 4 #include<algorithm>
 5 using namespace std;
 6 struct card{char suit;int value;};
 7 card c1[100],c2[100];
 8 int n;
 9 void sw(card &x,card &y){
10     card t;
11     t=x;
12     x=y;
13     y=t;
14 }
15 void bubble(struct card a[],int n){
16     for(int i=0;i<n;i++){
17         for(int j=n-1;j>=i+1;j--){
18             if(a[j].value<a[j-1].value){
19                 sw(a[j],a[j-1]);
20             }
21         }
22     }
23 }
24 void select(struct card a[], int n){
25     for(int i=0;i<n;i++){
26         int minj=i;
27         for(int j=i;j<n;j++){
28             if(a[j].value<a[minj].value){
29                 minj=j;
30             }
31     }
32         sw(a[i],a[minj]);
33     }
34 }
35 bool judge(struct card c1[],struct card c2[],int n){
36     for(int i=0;i<n;i++){
37         if(c1[i].suit!=c2[i].suit){
38             return false;
39         }
40     }
41     return true;
42 }
43 void print(struct card a[],int n){
44     for(int i=0;i<n;i++){
45         if(i>0){
46             printf(" ");
47         }
48         printf("%c%d",a[i].suit,a[i].value);
49     }
50     printf("\n");
51 }
52 int main(){
53     scanf("%d\n",&n);
54     for(int i=0;i<n;i++){
55     cin>>c1[i].suit >>c1[i].value ;
56     }
57     for(int i=0;i<n;i++){
58         c2[i]=c1[i];
59     }
60     bubble(c1,n);
61     select(c2,n);
62     print(c1,n);
63     printf("Stable\n");
64     print(c2,n);
65     if(judge(c1,c2,n)){
66         printf("Stable\n");
67     }
68     else{
69         printf("Not stable\n");
70     }
71     return 0;
72 }

 

posted on 2018-08-03 22:51  总是WA的十四  阅读(77)  评论(0)    收藏  举报

导航