自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 number26 A,B两个单链表递增有序,找出其公共元素

number 26:从A,B中找出公共元素产生单链表C,要求不破坏A,B结点。number27 从A,B中找出公共元素并存放于A链表中。取A链表的头结点,若有重复元素,则使用尾插法插入A链表中。注意:重复元素取完之后,要释放剩余的结点。

2023-08-09 21:29:11 105

原创 number24 两个递增有序的单链表,合并成一个

取A链表的头结点作为合并后链表的头结点,p指向A链表的开始节点,q指向B。思想与24相同,区别在于,25使用头插法将其插入,而24使用尾插法。链表的开始结点,重复进行比较p、q的data值。

2023-08-08 12:05:33 88

原创 number22 将一个单链表{a1,b1,a2,b2‘‘‘‘‘‘an,bn}拆分成{a1,a2,‘‘‘‘‘‘an}和{b1,b2,‘‘‘‘‘‘bn}

将一个单链表{a1,b1,a2,b2''''''an,bn}拆分成{a1,a2,''''''an}和{b1,b2,''''''bn}删除递增链表中重复的元素。

2023-08-06 20:42:06 96

原创 number21 将单链表A分为AB两个链表,使A中含奇数位置,B中含偶数位置,且相对位置不变

最初的想法时是设置一个int型变量i对位置进行记录,如果使偶数,就将结点接入B链表中,奇数则不用管。没有上述方法容易理解,但也能够实现。由于其加入两个链表的次序始终为一前一后,所以我们可以设计两个指针,指向头结点,依次进行连接。

2023-08-02 20:50:50 99

原创 number20按递增排序输出单链表各结点的数据元素,并释放其所占空间

进行两次while比较,每轮比较出最小值后输出,并删除节点。

2023-08-02 20:44:49 34

原创 number18 删除单链表的最小值

通过遍历单链表,找到最小值并设置一个指针指向该最小值结点;遍历结束后,如果该最小值为单链表的开始结点,则直接将表头L= L->next,否则,遍历单链表,查找最小值结点的前驱节点,进行删除。遍历单链表找出最小值,并设置一个指针记录最小值的前驱结点,遍历完成后通过该指针将最小值结点删除。

2023-08-01 18:42:48 141 1

原创 number17 从链表中删除给定值在s到t之间的所有元素

【代码】number17 从链表中删除给定值在s到t之间的所有元素。

2023-07-31 20:57:24 64 1

原创 number16 单链表的原地逆置

方法二 将指针的方向调转。

2023-07-31 20:55:23 28 1

原创 number15 从头到尾反向输出单链表每个结点的值

由于单链表只有next指针,并没有pre指针,所以我们借助递归算法进行实现。

2023-07-30 10:28:39 47 1

原创 number14 删除带头结点单链表第一个值为x的结点

程序终止条件:已找到且删除 || 未找到但链表已空。删除带头结点单链表中第一个值为x的结点。

2023-07-30 10:19:33 284 1

原创 number13 删除带头结点单链表中所有值为x的结点

由于单链表没有前驱节点,所以我们用p->next->data进行比较,方便后续的删除。

2023-07-28 16:53:18 34 1

原创 number12 设计一个递归算,删除不带头结点的单链表中所有值为x的节点

创建一个没有头结点的单链表(学艺不精,必须分开讨论吗)

2023-07-28 16:41:58 28 1

原创 单链表基本操作

【代码】单链表基本操作。

2023-07-24 19:33:11 12

原创 number9 求两个递增序列合并后的中位数

中位数的下标要记得减一。

2023-07-24 18:35:54 123

原创 number10 找出数组中未出现的最小正整数

当L中元素值-1 = 数组下标时,将该数组位置元素置为1,表示该整数出现。

2023-07-24 18:24:10 20

原创 number11 若一个整数序列有过半相同元素,找出主元素

设置一个与L等长的顺序表A,由于元素值>0且<n,因此我们将顺序表L中的元素值的个数保存在A中 A数组下标=B元素值-1,并用A中的data记录元素出现的次数。若元素值未规定,可以用下述方法,设置一个顺序表A用来记录L中对应位置的元素的重复的个数,再通过比较A表中最大值是否大于长度的一半来判断最大值是否存在。

2023-07-24 18:14:25 79

原创 number8 两个递增有序表合并成一个递增有序表

两个递增有序表合并成一个递增有序表,并删除重复元素。

2023-07-21 11:39:00 36 1

原创 number 7从有序表中删除所有值重复的元素

采用覆盖的思想,第一个元素肯定在新顺序表中,将第一个元素与后续元素比较,直到遇到一个不相等的元素再加入到新的顺序表中,再将新顺序表的最后一个元素与后续的元素比较·····依次往下进行。

2023-07-21 11:14:39 149 1

原创 number 6 从顺序表中删除值在s-t之间的所有元素

【代码】number 6 从顺序表中删除值在s-t之间的所有元素。

2023-07-20 09:46:13 21

原创 number 5 删除顺序表中值为x的元素

算法2:删除值为x的元素,通过设置一个flag,来记录值为x的元素个数,从而控制非x值存储的位置。算法3:如果检测出值等于x的元素,则将其后续所有元素向前移动一位,表长length-1。思想比较明白易懂,但时间复杂度较高。算法1:将删除某个值为x的元素转化为保留所有值不等于x的元素。

2023-07-20 09:34:23 121

原创 number 4 实现函数的逆转

将(a1,a2,a3```an,b1,b2,```,bm)转换成(b1,b2,```,bm,a1,a2,a3```an)其中所传递的函数x为逆转的开始位置,y为结束位置(不要将x,y与m,n混淆)本质就是实现函数的逆置,从两端节点开始进行交换位置,直到到达中点。

2023-07-20 09:14:20 36

原创 number 2

用顺序表最后一个元素覆盖整个顺序表中最小元素,并返回该最小元素。

2023-07-18 18:32:33 35 1

原创 number 1

顺序表递增有序,插入元素x,仍递增。

2023-07-18 18:30:02 14

原创 数据结构--顺序表基本操作

查找 时间复杂度为O(n)插入 时间复杂度为O(n)删除 时间复杂度为O(n)

2023-07-16 20:41:52 30 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除