每日一刷——1.判断两个链表是否相交,若相交求交点(链表不带环&带环)2.fork()问题
来源:互联网 发布:人工智能原理与应用 编辑:程序博客网 时间:2024/06/06 14:01
1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)
Node* GetMeetNode(Node* l1,Node* l2)//获取相交链表的相交节点{ assert(l1); assert(l2); Node* p1 = l1; Node* p2 = l2; int len1 = 0; int len2 = 0; while (p1) { p1 = p1->_next; len1++; } while (p2) { p2 = p2->_next; len1++; } int sub; sub= myabs(len1,len2); Node* longNode; Node* shortNode; if (len1 > len2) { longNode = l1; shortNode = l2; } else { longNode = l2; longNode = l1; } while (sub--) { longNode = longNode->_next; } while (longNode != shortNode) { longNode = longNode->_next; shortNode = shortNode->_next; } return shortNode;}
2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)
int* GetMeetNodeWithCircle(Node* l1,Node* l2){ assert(l1); assert(l2); Node* meet1 = GetMeetNodeInCycle(l1); Node* meet2 = GetMeetNodeInCycle(l2); if (meet1 != NULL&&meet2 != NULL) { Node* cur = meet1; while (meet1 != cur->_next) { if (meet2 == cur) { return 1; } cur = cur->_next; } } return NULL;}
3-请问下面的程序一共输出多少个“-”?
int main(void) { int i; for(i=0; i<2; i++){ fork(); printf("-"); } return 0; }
初见此题时,我们会认为结果是输出6个“-”,但是真正将程序跑一遍我们就可知程序实际上输出了8个“-”
我们知道,fork()函数有一次调用两次返回的特点,如果子进程创建成功,则给子进程返回0,给父进程返回子进程的进程id;
在fork时,子进程会拷贝父进程的缓冲区,指令,变量值,程序调用栈,环境变量。
本次printf本身带有缓冲区(buffer),所以两次fork(),子进程就会多拷贝两次缓冲区内容,所以最后输出8个而不是6个。
阅读全文
0 0
- 每日一刷——1.判断两个链表是否相交,若相交求交点(链表不带环&带环)2.fork()问题
- 判断两个链表是否相交,若相交,求交点:1.不带环。2.有可能带环
- 判断两个链表是否相交,若相交,求交点,若带环呢/fork继承问题
- 1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】
- 链表--1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)
- 1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】
- ]数据结构:单链表之判断两个链表是否相交及求交点(带环、不带环)
- 判断两个链表是否相交,若相交,求交点。(假设链表不带环)(C语言)
- 判断两个链表是否相交,若相交,求交点,考虑带环情况实现代码
- 求两个链表是否相交,若相交,求交点(链表可能带环)
- 判断两个链表是否相交,若相交,求交点。(假设链表带环、不带环)
- 判断两链表是否相交,若相交求交点(链表可能带环)
- 判断俩个链表是否相交,若相交求交点(考虑带环和不带环)
- 判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】(C语言)
- 判断两个不带环链表是否相交?若相交,求入口点。
- <笔试><面试>C/C++单链表相关(4)判断两链表是否相交,求交点(链表不带环/可能带环)
- 判断两个链表是否相交(考虑带环与不带环)
- 判断两个链表是否相交,若相交,求交点。
- 第十五天 jquery和ajax
- Java-数字分类 (20)
- C++_013_数据结构_队列类
- 【Arduino】 使用定时器中断(非库、精度更高)
- 20170716Windows11_4_信号量/互斥体/程序单开应用
- 每日一刷——1.判断两个链表是否相交,若相交求交点(链表不带环&带环)2.fork()问题
- STM32硬件IIC相关的东西
- 存储过程
- Python编程_Lesson009_Python IDE及调试
- 区间关系_阿里笔试
- 驱动框架6——linux内核的gpiolib学习
- 机器学习训练营---第一周总结
- 1922: [Sdoi2010]大陆争霸
- [来源未知]百团大战