第二天
补完了昨天的代码
还有律化娜真好玩,不想写程序了,希尔排序鸽了
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 }
浙公网安备 33010602011771号