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

/*
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 @ 2007-10-16 23:18  emanlee  阅读(420)  评论(0编辑  收藏  举报