码迷,mamicode.com
首页 > 编程语言 > 详细

插入升序算法

时间:2015-09-30 12:56:57      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

昨天看了一篇关于菜鸟与高级程序员区别的文章, 菜鸟遇到问题就求助外界,而高级程序员遇到问题第一步是静静的思考。今天一大早就写了一个算法,按照高级程序员的规矩来写的。

/* @功能:插入排序之升序排列
 *@prama:inarr[]  元素是乱序的数组
 *@result:outarr[] 降序排列的数组
 */
 
 void insert_sort(int *arr,int len)
 {
     int i,j,k;
     for (i=0;i<=len,i++)
     {
         for(j=0;j<=len-j;j++)
         {
             if(arr[j]>arr[j+1])
             {
                 arr[j]=arr[j]^arr[j+1];
                 arr[j+1]=arr[j]^arr[j+1];
                 arr[j]=arr[j]^arr[j+1];
             }else continue;
         }
     }
     for(k=0;k<len;k++)
     {
         printf("%d",arr[k]);
     }
 }
 int main()
 {
     int arr[]={2.4.5.1.9};
     int len=5;
     insert_sort(arr,len);
 }

写程序的过程中:我想写了什么?

第一就是我需要把数组遍历一遍,这需要一层循环,我还需要一层循环用来调整位置,所以我就先把两层循环给敲上。然后就是循环条件的限制,用几个数排排序就知道怎么写限制条件了。还有就是数据交换,我使用的异或运算,这种方法还是之前在一本书上看到了,既不用借助第三变量,也不用担心溢出问题。

最后给大家推荐一篇文章,干货。点击下面链接

程序员中“菜鸟”和大神之间的区别到底在哪

我想把函数写到别的文件中,这样代码就简洁很多,而且我可以在一个文件里定义很多函数了。问题来了,是头文件(.h)还是(.c)文件中呢?

我尝试了讲函数定义直接拷到一个.c文件中。然后再main函数所在的文件中用引入,使用双引号。程序正常运行。

后来我又把直接拷到.h文件中,当然我要上个.c文件删掉了,哈哈,仍然正常运行?

为什么呢?

再复习一下程序运行原理,也可以参考下这个链接

头文件与源文件的关系

插入升序算法

标签:

原文地址:http://www.cnblogs.com/myaddress/p/4848712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!