插入升序算法

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

/* @功能:插入排序之升序排列
 *@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文件删掉了,哈哈,仍然正常运行?

为什么呢?

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

头文件与源文件的关系

转载于:https://www.cnblogs.com/myaddress/p/4848712.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值