" id="b1img" alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO">
  • " alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" />
  • " alt="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" title="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" />
  • " alt="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" title="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" />

冒泡排序

程序设计2009-11-12 itlogger阅读(583) 评论(0)

冒泡法排序的排序过程如下,首先将第一个记录与第二个记录进行比较,若为逆序(R[1]>R[2]),则将两个记录交换,然后比较第二个记录和第三个记录。依次类推,直到第n-1个记录完成比较为止。上述过程称为第一次起泡排序过程,其结果使得最大的记录被放在了最后一个记录的位置上。然后进行第二次起泡排序,对前n-1个记录进行同样的操作将次大的记录放在第n-1个记录的位置上。
由于此算法中小的数据像水中的气泡一样向上浮动,而大的数据像石头一样沉入水底,因此形象的称此算法为起泡法排序。
算法描述如下:
void sortArry(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
例9-11 对整数序列 1,2,8 ,9 ,-1,22,23,2,3,4按递增的顺序排序。
#include “stdio.h”
#include “math.h”
void main()
{
int array[10]={1,2,8 ,9 ,-1,22,23,2,3,4};
int i;
for(i=0;i<10;i++)
printf(“%5d”,array[i]);
printf(“\n”);
sortArry(array,10);
for(i=0;i<10;i++)
printf(“%5d”,array[i]);
}
void sortArry(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}

转载请注明 :IT樵客
文章地址:http://www.itlogger.com/program/954.html
标签:, ,
相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注