Chinaunix首页 | 论坛 | 博客
  • 博客访问: 541092
  • 博文数量: 129
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1888
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-20 11:09
文章分类

全部博文(129)

文章存档

2016年(1)

2015年(5)

2014年(64)

2013年(59)

我的朋友

分类: C/C++

2014-02-27 10:18:52


  1. //当一维数组作为函数参数的时候,编译器总是把它解析成一个指向数组首元素首地址的指针
  2. //因此DirectInsertSort的函数形式有两种:DirectInsertSort(int a[],int n);DirectInsertSort(int *a,int n);

  3. #include<iostream>
  4. using namespace std;

  5. int DirectInsertSort(int a[],int n)
  6. {
  7.     //cout<<sizeof(a)<<endl;
  8.     for(int i=2;i<=n-1;i++)
  9.     {
  10.      if(a[i]<a[i-1])
  11.         {
  12.          a[0]=a[i];
  13.             a[i]=a[i-1];        
  14.          for(int j=i-2;a[0]<a[j];--j)
  15.              a[j+1]=a[j];
  16.          a[j+1]=a[0];
  17.         }
  18.     }
  19.     return 0;
  20. }
  21. /*
  22. int main()
  23. {
  24.     int array[9]={-100,7,25,9,2,13,8,4,1};
  25.     DirectInsertSort(array,9);
  26.     for(int i=1;i<9;i++)
  27.         cout<<array[i]<<' ';
  28.     return 0;


  29. }
  30. */

  31. int main()
  32. {
  33.     int k;
  34.     int array[6];
  35.     for(int i=0;i<6;i++)
  36.     {
  37.      printf("please input array[%d] value:",i);
  38.         scanf("%d",&k);
  39.         array[i]=k;
  40.     }
  41.     printf("current array value:\n");
  42.     for(i=1;i<6;i++)
  43.         printf("%d ",array[i]);
  44.     DirectInsertSort(array,6);
  45.     printf("after sort,the array is:\n");
  46.     for(i=1;i<6;i++)
  47.         printf("%d ",array[i]);
  48.     return 0;
  49. }

运行结果:
   


阅读(1688) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~