直接插入排序

来源:互联网 发布:聚合数据害人 编辑:程序博客网 时间:2024/04/28 12:30

#include<iostream.h>
void zhijiecharu(int (&a)[10],int n)
{
 int c;
 int i;
 int b;
 for(int j=1;j<n;j++)
 {
  c=j; 
  for(i=j-1;i>=0;i--)
  if(a[j]<=a[i]&&i==0)
  {
  b=a[j];
  for(;c>=1;c--)
  a[c]=a[c-1];
  a[0]=b;
  break;
  }
  else
  if(a[j]>a[i])
   break;
  else
  if(a[j]==a[i])
  {
  b=a[j];
  for(;c>i+1;c--)
  a[c]=a[c-1];
  a[i+1]=b;
  }
  else
  if(a[j]<a[i]&&a[j]>=a[i-1])
  {
  b=a[j];
  for(;c>i;c--)
  a[c]=a[c-1];
  a[i]=b;
  break;
  }   
     
 }
}


void main()
{
 int a[10]={9,8,8,6,5,4,3,4,1,0};
 zhijiecharu(a,10);
 for(int i=0;i<=9;i++)
  cout<<a[i]<<endl;
}

原创粉丝点击