计算机软件基础-冒泡排序

/*
Title:  冒泡排序
Author: eman lee
算法功能:冒泡排序算法实现将一个长度为n的线性表r上的所有元素按关键字升序排列。
*/
#include<stdio.h>
void bubblesort(int r[],int n)
{ /*elements are stored in r[1] to r[n]*/
int i,j,flag;
int temp;
  flag=1;
  i=1;
while((i<n)&&(flag==1)) /*外循环控制排序的总趟数*/
   {  flag=0;
for(j=n;j>i;j--) /*内循环控制一趟排序的进行*/
if(r[j]<r[j-1])  /*相邻元素进行比较,若逆序就交换*/
           {
          flag=1;
              temp=r[j];
              r[j]=r[j-1];
              r[j-1]=temp;
           }
      i++;
    }
} /*bubblesort*/
void show(int  r[] , int n)
{
/*elements are stored in r[1] to r[n]*/
int i;
for(i=1;i<=n;i++)
   printf(" %d ",r[i]);
  printf("\n"); 
}
void main()
{
int a[9]={0,38,20,46,38,74,91,12,25};
show(a,8);
bubblesort(a,8);
show(a,8);
}

posted on 2012-04-20 14:04  coolnet  阅读(271)  评论(0编辑  收藏  举报

导航