顺序表
龙曦lc
千里之行,始于足下。
展开
-
将顺序表循环左移r
算法思想:先将长度为n的序列进行逆置,再逆置前n-r个序列,再逆置后r个序列。经过三次逆置,即可得到循环左移r的顺序表。原创 2023-05-13 01:00:03 · 101 阅读 · 0 评论 -
设计算法逆置顺序表L
算法思想:low指针从表头向表尾移动,high指针从表尾向表头移动,同时交换每一对low元素和high元素,直到low与high指针重合,则顺序表逆置完成。原创 2023-05-13 00:22:57 · 142 阅读 · 0 评论 -
给定两个升序表A和B,求解A-B
算法思想:指针IndexA和IndexB分别指向表A和表B的第一个元素,如果IndexA所指元素小于IndexB所指元素,则将IndexA元素加入差集表中,并移动IndexA的指针指向下一个元素;如果IndexA所指元素大于IndexB所指元素,则移动IndexB的指针指向下一个元素;如果两指针指向元素相等,则两指针同时移动指向下一个元素。重复上述步骤,直到A与B其中一条链遍历完成,如果A链中还有剩余元素未遍历,则将其全部加入差集表中。原创 2023-05-13 00:12:48 · 128 阅读 · 0 评论 -
给定两个升序表A和B,求解A∩B(共同元素只能在交集中出现一次)
算法思想:指针IndexA和IndexB分别指向表A和表B的第一个元素,如果IndexA所指元素小于IndexB所指元素,则移动IndexA的指针指向下一个元素;如果IndexA所指元素大于IndexB所指元素,则移动IndexB的指针指向下一个元素;如果两指针指向元素相等,将共同元素保存后,两指针同时移动指向下一个元素,如果该元素与交集表尾元素不相等,则将其插入交集表中。重复上述步骤,直到A与B其中一条链遍历完成。原创 2023-05-12 23:49:30 · 139 阅读 · 0 评论 -
表A前r个元素递增有序,后n - r个元素递减有序,设计算法将表A升序排列
算法思想:将表A的第r+1到n-1个元素依次插入前r个元素中,最终使得整个表有序。原创 2023-05-12 23:00:26 · 211 阅读 · 0 评论 -
合并升序表A和降序表B到表A,并保持A为升序存储
算法思想:依次取La,Lb中较大的元素插入La中,直到一条链元素全部元素全部插入La中,如果Lb中元素有剩余,则将其依次插入La中,最后释放Lb存储空间。原创 2023-05-12 22:15:55 · 132 阅读 · 0 评论 -
合并升序表A和降序表B到表C,并使得C为升序存储
算法思想:依次取La,Lb中较小的元素插入Lc中,直到一条链元素全部元素全部插入Lc中,将另外一条链中元素依次插入Lc中,最后释放La,Lb存储空间。原创 2023-05-12 21:34:50 · 93 阅读 · 0 评论 -
非递减顺序表删除重复数据元素
算法思想:重前往后遍历顺序表,如果当前元素与新链的链尾元素不相同,则将其插入新链尾部,同时更新新链长度。因为新链元素个数总是小于等于旧链,故可以不另外开辟空间使用旧链创建新链。原创 2023-05-12 01:48:40 · 514 阅读 · 0 评论 -
非递减顺序表删除值在区间[s,t]的所有元素
算法思想:重前往后遍历顺序表,第一个小于s的元素;重后往前遍历顺序表,找到第一个大于t的元素;将所有小于s的元素依次连接到t元素的后面,最后更新顺序表长度。原创 2023-05-12 01:12:42 · 78 阅读 · 0 评论 -
无序顺序表删除值在s和t之间的元素(s<元素<t)
算法思想:重前往后遍历顺序表,如果当前元素不再s和t之间,则将其插入新表表尾。因为新表的长度总是小于旧表长度,故可以用旧表,无需另外开辟空间。原创 2023-05-11 23:56:51 · 79 阅读 · 0 评论 -
顺序表基本操作(插入,删除,查找)
【代码】顺序表基本操作(插入,删除,查找)原创 2023-05-11 23:12:14 · 245 阅读 · 0 评论