- 博客(6)
- 收藏
- 关注
原创 【数据结构--双向链表】
双向链表也叫双向表,是链表的一种,它由多个结点组成,每个结点都由一个数据域和两个指针域组成,数据域用来存储数据,其中一个指针域用来指向其后继结点,另一个指针域用来指向前驱结点。链表的头结点的数据域不存储数据,指向前驱结点的指针域值为null,指向后继结点的指针域指向第一个真正存储数据的结点。与访问单向链表一样对于双向链表的访问也需要使用头指针。
2024-05-16 21:47:23 367
原创 【单向链表高频笔试题】
传说有这样一个故事,在罗马人占领乔塔帕特后,39 个犹太人与约瑟夫及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,第一个人从1开始报数,依次往后,如果有人报数到3,那么这个人就必须自杀,然后再由他的下一个人重新从1开始报数,直到所有人都自杀身亡为止。因此我们就可以分别用一个指针(ptr1, prt2),同时从head与slow和fast的相遇点出发,每一次操作走一步,直到ptr1 == ptr2,此时的位置也就是入口点!(3) 由(2)推出。
2024-05-16 21:41:42 722
原创 【数据结构--链表】
如果遍历到的结点是中间结点,驱结点指向当前结点的下一个结点p->next = t->next, 释放当前结点free(t),临时指针t指向下一个结点继续往后遍历 t = p->next。如果遍历到的结点恰好是尾结点,将尾指针tail指向需要删除的结点的前驱结点p,尾指针tail->next=NULL,释放当前结点free(t),返回TRUE。头指针保存了链表中头结点的存储位置。如果不是尾结点将前驱结点p指向新的结点n,p->next = n,将新的结点指向遍历到的结点, n->next = t。
2024-05-16 21:36:11 1111
原创 【数据结构--顺序表】
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。2. 动态顺序表:使用动态开辟的数组存储。1. 静态顺序表:使用定长数组存储元素。
2024-05-12 16:05:53 638
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人