冒泡排序的基本思想是:每次将相邻的两个数比较,将小的调到前头。
冒泡一:
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
int main()
{
int i=0;
int j=0;
int tmp=0;
int arr[10];
printf("请输入十个数字\n");
for(i=0; i<10; i++)
{
scanf("%d", &arr[i]);
}
for(j=0; j<9; j++)
{
for(i=0; i<9-j; i++)
{
if(arr[i]>arr[i+1])
{
tmp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=tmp;
}
}
}
printf("排序后:\n");
for(i=0; i<10; i++)
{
printf("%-2d",arr[i]);
}
printf("\n");
return 0;
}
冒泡二:
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
void bub(int ARR[],int SZ)
{
int i=0;
int j=0;
for(j=0; j<SZ-1; j++)
{
for(i=0; i<SZ-1-j; i++)
{
if(ARR[i]>ARR[i+1])
{
int tmp=ARR[i];
ARR[i]=ARR[i+1];
ARR[i+1]=tmp;
}
}
}
printf("冒泡排序为:\n");
for(i=0;i<sz;i++)
{
printf("%-2d",arr[i]);
}
printf("\n");
}
int main()
{
int i=0;
int arr[]={9,8,7,6,5,4,3,2,1};
int sz=sizeof(arr)/sizeof(arr[0]);
bub(arr,sz);
return 0;
}