数据结构
文章平均质量分 75
qq_26158965
这个作者很懒,什么都没留下…
展开
-
一.线性表-顺序表(动态分配)学习笔记(2)
顺序表的动态分配元素为int类型与静态分配的区别,主要体现在定义,初始化,销毁,自动增长查找,赋值操作是差不多的重载的方式来实现动态分配的定义typedef struct{ int *data; int length; //当前长度 int maxsize; //最大容量}Dynamiclist;初始化void initDynamicList(Dynamiclist & l){ l.data=(int *)malloc(s原创 2021-04-15 11:10:16 · 97 阅读 · 0 评论 -
一.线性表-顺序表学习笔记(1)
文章目录前言线性表(Liner List)整个项目的构建顺序表(静态分配)定义初始化增删查工具typedef与struct指针与引用前言线性表(Liner List)线性表:是具有相同数据类型的n(n≥0)个数据元素的有限序列,其中n为表长,当n = 0时,线性表是一个空表。特点:一对一,除第一个唯一前驱,除最后一个有唯一后继.a1–>a2–>a3–>a4数据结构三要素:逻辑结构,存储结构,运算.线性表是一种逻辑结构,有两种存储结构:顺序表和链表.基本操作创建,销毁增原创 2021-04-15 11:09:24 · 107 阅读 · 0 评论 -
一.单链表习题(4)
文章目录二.2王道课后题第四部分==20==代码演示结果==21==代码演示结果==22==代码演示结果==23==代码演示结果==24==代码演示结果==25==代码演示结果二.2王道课后题第四部分20我的想法:每次更新完freq的值后,遍历链表中freq的值,最大的排在最前,并且排当前的位置.由于依次插入的特性,一定是大的在前面,只要向前找就行找到等于x的结点后,先将他摘下来,然后依次向前查找(因为后面的次序一定小于它),一直到头结点之前,插入到频率大于它的后面(实现值相同,先访问的在前原创 2021-04-13 15:58:55 · 211 阅读 · 0 评论 -
一.单链表习题(3)
文章目录二.2王道课后题第三部分15代码演示结果16代码演示结果17代码演示结果18代码演示结果19代码演示结果二.2王道课后题第三部分15与14题的区别是,并不产生新的单链表而是存在于a中问题:a中是只存交集元素,还是存额外的b中的.我选1注意释放不是公共的结点我选用头插法,可以不设置尾指针代码void combineRepeatInA(LinkList &a,LinkList &b){ LNode *p=a->next; LNode *q=原创 2021-04-13 15:58:13 · 107 阅读 · 0 评论 -
一.单链表习题(2)
文章目录二.2王道课后题第二部分==8==代码演示结果9代码演示结果==10==代码演示结果11代码演示结果12代码演示结果==13==代码演示结果14代码演示结果二.2王道课后题第二部分8常规思路是暴力解法时间复杂度o(len1*len2)我的代码和书上代码不一样,但是理念一样假如两个链表有公共结点那么,一定在某个结点开始,一直到最后一个结点,都是公共的.也就是从最后一个结点开始,往前n个结点是相同的.只要先知道两个链表的长度,然后在长度相同的时候同时遍历,next相同就找到了.时间原创 2021-04-13 15:56:56 · 136 阅读 · 0 评论 -
一.单链表习题(1)
文章目录二.2王道课后题第一部分==1==代码(1)推荐演示结果代码(2)==2==代码演示结果代码(2)演示结果==3==代码演示结果==4==代码演示结果==5==代码(1)代码(2)演示结果==6==代码演示结果7代码演示结果代码演示结果二.2王道课后题第一部分1相当经典的一道题一般来说,写递归函数,第一句是递归出口引用是给变量取别名,实际是同一个变量q=p 是两个变量,指向同一个位置而已.断链的问题–引用可以解决,对于作题来说,可以每次都加上引用一般来说,没有结点的增删,可原创 2021-04-13 15:54:08 · 134 阅读 · 0 评论