昨天看了一篇关于菜鸟与高级程序员区别的文章, 菜鸟遇到问题就求助外界,而高级程序员遇到问题第一步是静静的思考。今天一大早就写了一个算法,按照高级程序员的规矩来写的。
/* @功能:插入排序之升序排列 *@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文件删掉了,哈哈,仍然正常运行?
为什么呢?
再复习一下程序运行原理,也可以参考下这个链接
时间: 2024-11-03 22:10:32