#include "iostream.h"
int arr[]={0,-9,-1,-78,31,2,1,39,91,3,9,1,9,4,5,-9,-1,-78,31,2,1,39,91,3};
int alen =sizeof(arr)/sizeof(int)-1;
void OutPut(int *arr)
{
 while (alen)
 {
  cout<<arr[--alen]<<" ";
 }
}
void InsertSort(int  *R)
{
    int i,j=0;
 for(i=1;i<=alen;i++)
  if(R[i] >R[i-1] )
  {
   //存储要插入的元素
      int Insert = R[i];
   j=i-1;
   do
   {
    if (j==-1)
    {
                   R[0] = Insert;
       break;
    }
    else
    {
     R[j+1]=R[j];
     j– ;
    }
   }while( Insert > R[j]);
   R[j+1]=Insert;
  }
}
void main()
{
 InsertSort(arr);
 OutPut(arr);
}
result:

-78 -9 -9 -1 -1 0 1 1 1 2 2 3 3 4 5 9 9 31 31 39 39 91 91

 


1条评论

  1. 用哨兵不好。数组从1开始。增加哨兵工作量,令开辟内存。建议大学书本从新编写。讲解可以做项目不可以是现在大学教育的失败之处。本人念计算机专业7年。深感冲用高质量代码被书本害的残酷。准备某一天能让大学生读到我的程序。开玩笑了,大家,俺还太嫩,说话狂了点。呵呵。。

发表评论

评论也有版权!