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=6;j>1;j--)
- {
- for (i=0;i<j-1;i++) //i<5才會執行, 所以不會爆
- {
- if (data[i+1]<data[i]) //遞增就是把最大值換到最後面
- {
- temp=data[i];
- data[i]=data[i+1];
- data[i+1]=temp;
- }
- }
- for (i=0;i<6;i++)
- {
- printf("%d ",data[i]);
- }
- printf("\n");
- }
- 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=1;i<6;i++) //遞增
- {
- max=data[i];
- for (j=i-1;j>=0 && data[j]>max;j--) //往後換的概念,泡泡跟選擇都往前換
- {
- data[j+1]=data[j];
- }
- data[j+1]=max;
- 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