Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void bubble(int* data)
- {
- int i,j,temp;
- for (j=0;j<6;j++)
- {
- for (i=j+1;i<6;i++) //i<5才會執行, 所以不會爆
- {
- if (data[j]>data[i]) //遞增就是把最大值換到最後面
- {
- temp=data[i];
- data[i]=data[j];
- data[j]=temp;
- }
- }
- for (i=0;i<6;i++)
- {
- printf("%d ",data[i]);
- }
- printf("\n");
- }
- }
- void select(int* data)
- {
- int i,j,temp,min;
- for (j=0;j<6;j++) //最小值放最前面
- {
- min=j;
- for (i=j+1;i<6;i++) //i<5才會執行, 所以不會爆
- {
- if (data[min]>data[i]) //找出最小值
- {min=i;}
- }
- if (min!=j)
- {
- temp=data[j];
- data[j]=data[min];
- data[min]=temp;
- }
- for (i=0;i<6;i++)
- {
- printf("%d ",data[i]);
- }
- printf("\n");
- }
- }
- void insert(int* data)
- {
- int i,j,temp,max;
- for (i=0;i<6;i++) //遞增
- {
- max=i;
- for (j=i+1;j>=0;j--) //往後換的概念,泡泡跟選擇都往前換
- {
- if(data[j]>data[max])
- {
- temp=data[max];
- data[max]=data[j];
- data[j]=temp;
- max=j;
- }
- }
- for (j=0;j<6;j++)
- {
- printf("%d ",data[j]);
- }
- printf("\n");
- }
- }
- int main()
- {
- int data[6];
- int i;
- int action;
- for (i=0;i<6;i++)
- {
- scanf("%d",&data[i]);
- }
- scanf("%d",&action);
- if (action==1)
- {bubble(data);}
- else if (action==2)
- {select(data);}
- else if (action==3)
- {insert(data);}
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement