2015-12-01
来源:互联网 发布:泗洪网络问政 编辑:程序博客网 时间:2024/05/16 09:26
坚持学习的第三天
1.leetcode单链表系列
做了,反转单链表,删除有序单链表的重复node,整合两个有序但链表,都自己做对了,但是没有看过别人方法,应该可以更好。
反转单链表:
class Solution {public: ListNode* reverseList(ListNode* head) { ListNode *p,*q,*l; if(head == NULL || head -> next == NULL ) return head; p = head ; l = q = head -> next; p -> next = NULL; while(1) { if(q == NULL) return p; l = q; q = q-> next; l -> next = p; p = l; } }};删除有序单链表的重复node:
class Solution {public: ListNode *deleteDuplicates(ListNode *head) { if(head == NULL ) return head; if(head -> next == NULL ) return head; ListNode *l,*f,*b; f = head; b = head -> next; while(1){ if(b == NULL) { f -> next = NULL; return head; } if(f -> val == b -> val){ b = b -> next; } else { f -> next = b; f = b; b = b -> next; } } }};整合两个有序但链表:
class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1 == NULL ) return l2; if(l2 == NULL) return l1; ListNode *l,*p,*q,*pos; p = l1; q = l2; if(l1 -> val <= l2 -> val) { l = p; p = p -> next; pos = l; } else { l = q; q = q -> next; pos = l; } while(1) { if(p == NULL){ pos -> next = q; return l; } if(q == NULL){ pos -> next = p; return l; } if(p -> val <= q -> val){ pos -> next = p; pos = p; p = p -> next; } else{ pos -> next = q; pos = q; q = q -> next; } } }};
交换两个node,没做出来
2.学习C代码内存布局
一个程序本质有三部分组成:BBS段,data段,text段在采用段式内存管理的架构中:
BSS段:Block Started by Symbol,用来存放程序中未初始化的全局变量的一块内存区域。属于静态内存分配
data段:存放程序中已经初始化的全局变量的一块内存区域。属于静态内存分配
堆,动态分配,可以扩张或者减小
栈,程序的临时创建的局部变量
静态数据区:已初始化的全局变量,静态变量和常量。
text段(代码段):用来存放程序执行代码的一块内存区域。这部分大小在程序运行前就已经确定,并且内存区域属于只读。
什么是静态内存分配和动态内存分配
http://www.cnblogs.com/lebronjames/archive/2010/07/18/1780154.html
0 0
- 2015-12-01
- Day1:12/01/2015
- 2015-01-12 我想回去看看
- java_web-HTML-2-01-12-2015
- 2015-01-12-读取数据库连接字符串
- java_web-HTML-3-01-12-2015
- c语言集训日记 2015 01 12
- 2015年01月12日
- C 语言总结01 - 2015-12-26
- oracle编程入门笔记2015-01-12--数据合并
- oracle编程入门笔记2015-01-12--数据库原理1
- http://www.csdn.net/article/2015-01-12/2823523
- 2015年12月01日 每天半小时学英语
- hdu大学生程序设计竞赛(2015’12)1006 01 Matrix
- 计算机学院大学生程序设计竞赛(2015’12)01 Matrix
- 2015‘12杭电校赛1006 01 Matrix(二维DP)
- 2015/01/01
- 2015-12-12
- Java设计模式之适配器Adapter
- Socket编程(一)TCP传输文件
- ipad标准参数
- “当前不会命中断点。源代码与原始版本不同”解决
- UML——活动图
- 2015-12-01
- [Javascript OO] 构造函数
- 扩展SeaJS模块定义中的module参数的应用示例
- 内联,外联,全联结,交叉联结
- 高性能 TCP & UDP 通信框架 HP-Socket v3.3.2 发布
- Use xargs to pass command to kill a process
- XML的属性和子元素的关系
- \backend\models\core\Array2XML
- 基于stm32的can总线彻底研究