文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>排序算法

排序算法

时间:2010-09-04  来源:chengbin_liu

/* ************************************************************************
 *       Filename:  insertSort.c
 *    Description: 
 *        Version:  1.0
 *        Created:  09/04/2010 02:51:54 PM
 *       Revision:  none
 *       Compiler:  gcc
 *         Author:  chengbin_liu,
 *        Company: 
 * ************************************************************************/
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
void print_array(int a[],int len)
{
 int i;
 for( i=0;i<len;i++)
 {
  printf("%d\t",a[i]);
 }
 printf("\n");
}
//==============================================
//insert sort
void insert_sort(int a[],int len)
{
 int i,j,temp;
 for(i=1;i<len;i++)
 {
  temp=a[i];
  for(j=i-1;j>=0 && temp<a[j];j--)
  {
   a[j+1]=a[j];
  }
  a[j+1]=temp;
 }
}
//===============================================
//shell sort
void shellsort(int a[],int len)
{
 int h,i,j,temp;
 for(h=len/2;h>0;h=h/2)
 {
  for(i=1;i<len;i++)
  {
   temp=a[i];
   for(j=i-1;j>=0 && temp<a[j];j--)
   {
    a[j+1]=a[j];
   }
   a[j+1]=temp;
  }
 }
}
//=============================================
//bubble sort
void bubble_sort(int a[],int len)
{
 int i=0;
 int j=0;
 int temp=0;
 for(i=0;i<len;i++)
 {
  for(j=0;j<len-i-1;j++)
  {
   if(a[j]>a[j+1])
   {
    temp=a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
   }
  }
 }
}
//==============================================
//quick sort
void quick_sort(int a[],int low,int high)
{
 int i,j,temp;
 if(low <high)
 {
  temp=a[low];
  i=low;
  j=high;
  while(i<j)
  {
   while(i<j && a[j]>=temp)
    j--;
   if(i<j)
    a[i++]=a[j];
   while(i<j && a[i]<=temp)
    i++;
   if(i<j)
    a[j--]=a[i];
  }
  a[i]=temp;
  quick_sort(a,low,i-1);
  quick_sort(a,i+1,high);
 }
}
//=============================================
//select sort
void select_sort(int a[],int len)
{
 int i,j,x,l;
 for(i=0;i<len;i++)
 {
  x=a[i];
  l=i;
  for(j=i;j<len;j++)
  {
   if(a[j]<x)
   {
    x=a[j];
    l=j;
   }
  }
  a[l]=a[i];
  a[i]=x;
 }
}
//==============================================
int main()
{
 int a[]={5,3,6,8,2,1,4,7,9};
 printf("befroe sort is:\n");
 print_array(a,9);
 //insert_sort(a,9);
 //shellsort(a,9);
 bubble_sort(a,9);
 //quick_sort(a,0,8);
 //select_sort(a,9);
 printf("last sort is:\n");
 print_array(a,9);
 return 0;
}

 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载