冒泡排序:
思路:
在5个数中通过两两比较,找到最大的数,放到这五个数中的最右边——》第一次(i)比较四次(j)
在剩下的四个数中两两比较,找到最大的数,放到这四个数中的最右边——》第二次(i)比较三次(j)
在剩下的三个数中两两比较,找到最大的数,放在这三个数中的最右边——》第三次(i)比较两次(j)
在剩下的两个数中两两比较,找到最大的数,放在这三个数中的最右边——》第四次(i)比较一次(j)
例题:
假设将以下数字按照冒泡排序从小到大排列并进行输出;
99,88,67,100,2
程序代码:
#include <stdio.h>
#define N 5
int main()
{
int arr[N]={99,88,67,100,2};
int i,j;
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(arr[j]>arr[j+1])
{
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}