sort

来源:互联网 发布:电子报刊制作软件 编辑:程序博客网 时间:2024/05/17 08:46


#include "stdio.h"
/* swap sort example */
void swap(int *data,int pi,int pj)
{
  int tmp;
  tmp = data[pi];
  data[pi] = data[pj];
  data[pj] = tmp;
}


void bubleSort3(int *data,int len)
{
  int i,j;
  int flag=1;
  for(i=1;i<len && flag == 1;i++)
  {
    flag = 0;
    for(j=len;j>i;j--)
    {
        if(data[j] < data[j-1])
        {
          swap(data,j,j-1);
          flag = 1;
        }
    }
  }
}


void bubleSort2(int *data,int len)
{
  int i,j;
  for(i=1;i<len;i++)
  {
    for(j=len;j>i;j--)
    {
      if(data[j] < data[j-1])
      {
        swap(data,j-1,j);
      }
    }
  }
}


void bubleSort1(int *data,int len)
{
  int i,j;
  for(i=1;i<len;i++)
  {
    for(j=i+1;j<=len;j++)
    {
      if(data[i]>data[j])
      {
        swap(data,i,j);
      }
    }
  }
}






int main(void)
{
  int testData[11] = {-1,5,1,6,4,2,8,3,9,7,0};
  int j=0;
  
  bubleSort3(testData,10);
  printf("testData order is:\n");
  for(j=1;j<=10;j++)
  {
    printf(" %d",testData[j]);
  }
  
}
原创粉丝点击