![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程 c语言
文章平均质量分 68
_来信
学习,总结,归纳,练习!
展开
-
提高循环的效率:折半查找算法
通过最近的看书学习,获益匪浅。 下面介绍一种折半查找算法: 比如我买了一双鞋,你好奇问我多少钱,我说不超过300,然后让你猜,那么你一定每次猜中间数。 举个例子,若实现在主函数内,一有序数组{1,2,3,4,5,6,7,8,9,10}中寻找7在哪 那么就不用一一查找,直接用这种算法,最多只计算4次。 #include int main() { int arr[10] =原创 2017-07-01 10:01:55 · 876 阅读 · 0 评论 -
判断单链表是否带环?若带环,求环的长度?求环的入口点?
一:判断链表是否带环: 这里用到了快慢指针,定义两个指针变量fast,slow,都指向链表的头节点,fast每次向后走两个节点,slow每次向后走一个节点,若链表带环,那么进入环内,快指针相对于慢指针相当于每次走一步,慢指针相当于不动,那么它们一定会相遇。 ListNode* IsRingList(ListNode* pHead) { ListNode* fast = N原创 2017-09-20 21:43:12 · 340 阅读 · 0 评论 -
一道容易出错的题目(有关负数的补码)
这道题的答案是什么? #include #include int main() { char a[1000]; int i = 0; for(i = 0; i<1000; i++) { a[i] = -1-i; } printf("%d\n",strlen(a)); return 0; } 答案是255,这个255是怎么来的呢? 在for循环内部,,当i原创 2017-08-13 15:37:26 · 998 阅读 · 0 评论 -
三子棋的实现
经历了一系列的错误,终于调试好了三子棋的简单实现: //game.h #ifndef __GAME_H__ #define __GAME_H__ #include #include #include #define HEN 3 #define SHU 3 void init(char arr[HEN][SHU],int hen,int shu);//原创 2017-07-22 13:15:09 · 307 阅读 · 0 评论 -
总结C语言指针部分的知识
> 一级指针 > 二级指针 > 一维数组 > 二维数组 > 指针和数组的关系 > 指针数组 > 数组指针 > 函数指针 一:一级指针: 指针是什么: 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因原创 2017-08-05 19:55:40 · 286 阅读 · 0 评论 -
浅谈数组
俗话说:”不积跬步,无以至千里。“做什么事都应该一步一个脚印,取得进步,今天我来分享一些数组相关的概念知识: 1.一维数组的创建和初始化 2.一维数组的使用 3.一维数组的存储 4.一维数组的指针访问 5.二维数组的创建和初始化 6.二维数组的使用 7.二维数组的存储 8.二维数组的指针访问 1.一维数组的创建和初始化: 1.1创建: type_t原创 2017-07-28 12:22:56 · 196 阅读 · 0 评论 -
函数的调用过程(栈帧)
拿一段简单的代码为例: #include int Add(int x,int y ) { int z = 0; z = x+y; return z; } int main() { int a = 10; int b = 20; int c = 0; c = Add(a,b); printf("%d \n",c); return 0; } 程序调试原创 2017-07-29 22:26:14 · 239 阅读 · 0 评论 -
如何判断闰年
虽然是一道简单的题目,但对于我这个初学者也是花费了一些时间来完成。 开始我用了大量的 if else 结构,不仅麻烦而且易出错,后来想到闰年的条件可以用 || 和 && 来直接表示: year %400 == 0 || year%4 == 0 && year%100 != 0 如果year可以整除400,或者可以整除4(且不能整除100),那year一定是闰年。 具体代码如原创 2017-06-26 10:22:55 · 509 阅读 · 0 评论 -
c语言—复杂链表的复制
所谓复杂链表,指的是链表中每个节点不仅有指向下一个节点的next指针,还有一个radom指针指向一个随机节点,甚至可以指向自己,可以指向空。 typedef struct ListNode { DataType data; struct ListNode* next; //next指向下一个节点 struct ListNode* radom; //radom指向随机节点 }L原创 2017-10-15 17:56:14 · 1662 阅读 · 0 评论