首页 > 其他 > 详细

记录编写单链表的基本操作

时间:2020-01-16 15:23:08      阅读:85      评论:0      收藏:0      [点我收藏+]
       
#define Node_Count 5 //建立一个5个人的信息 struct P_Node { int index; struct P_Node* pNext; }P_Node; //(1)有n个珠子串起来 (2)来一颗珠子,串一颗,使用的迭代法 //(3)复习一下集合论和二元关系就非常好理解,这个链表是有序的,有偏序关系。 // 二元关系的中的传递性 //(4)出现指针兼容性问题,使用sizeof判断类型是否一致,64位指针是8个字节,指针类型不一致, // 可以使用struct P_Node 不使用typedef试试 //(5)free不会把物理空间的指针变量置为空 //(6)复习一下迭代和递归的使用 struct P_Node* FirstNode = (struct P_Node*)malloc(sizeof(struct P_Node)); struct P_Node* index_node = NULL; FirstNode->pNext = NULL; index_node = FirstNode; for (i = 0; i < Node_Count; i++) { struct P_Node* tmpPoint = (struct P_Node*)malloc(sizeof(struct P_Node)); index_node->pNext = (struct P_Node*)tmpPoint; DPINFO(("打印出 index_node->pNext 大小%d\n", sizeof(index_node->pNext))); DPINFO(("打印出 tmpPoint 大小%d\n", sizeof(tmpPoint))); tmpPoint->index = i+100; tmpPoint->pNext = NULL; index_node = tmpPoint; } //打印出来 index_node = FirstNode; for (i = 0; i < Node_Count+1; i++) { DPINFO(("打印出结点的数据%d\n",index_node->index)); index_node = index_node->pNext; } DPINFO(("打印结点finish\n")); index_node = FirstNode; while (index_node->pNext != NULL) { free(index_node); index_node = index_node->pNext; } DPINFO(("打印出index_node point data is%p\n", index_node->pNext)); //free(index_node); DPINFO(("free之后这个index_node point data is %p\n", index_node->pNext));

  技术分享图片

记录编写单链表的基本操作

原文:https://www.cnblogs.com/nowroot/p/12201307.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!