链表

nanyankaoran nanyankaoran 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
type
PMYnode = ^TMYnode;
TMYnode = record
data:Pointer ;
next :PMYnode ;
end;
type
PMYlist =^TMYlist;
TMYlist = record
couunt:Integer ;
node:PMYnode ;
end;
TSearchFunc= function (where ,what :Pointer ):Boolean ;
function create ():PMYlist ;

function create ():PMYlist ;//初始化链表
var
p:PMYlist ;
begin
New(p);
p^.couunt :=0;
p^.node :=nil ;
Result :=p;
end;

procedure delnode(list:PMYlist ;index :Integer );
var
delnode,currnode:PMYnode ;
i:Integer ;
begin
if index = -1 then
begin
while list^.node <>nil do
begin
delnode := list^.node ;
list^.node :=list^.node^.next;
Dispose(delnode );
delnode :=nil;
end;
list^.couunt :=0;

end
else if index = 0 then//删除第一个节点,
begin
delnode := list^.node ; //这里是得到第一个节点吗?
list^.node :=list^.node^.next ;//这里不明白,如有5个节点,那,3,4,5节点没移动?
Dispose(delnode );
delnode :=nil ;
dec(list^.couunt );
end
else
begin
if List^.couunt <= Index then // If the position doen not exist
begin
exit;
end
else // Find the specific position given by Index and delete it
begin
CurrNode := List^.Node;
for i := 0 to Index - 2 do
begin
CurrNode := CurrNode^.Next;
end;
// Delete it
DelNode := CurrNode^.Next;
CurrNode^.Next := DelNode^.Next;
Dispose(DelNode);
DelNode := nil;
Dec(List^.couunt );
end;
end;
end;
...全文

相关推荐

链表归并的操作,将两个链表合并成一个链表

用于数据结构中链表的归并操作,可以将连个链表的数据类型的数据合并成一个链表

zhanghaiyoudeerzi

两个链表求交集(链表基础练习)

输入两个链表并取其交集于其中之一链表中输出

pandawuwyj

c语言 链表 双向链表 双向循环链表

从linux内核移植出来,独立于用户数据结构,里面有实例参考。C语言代码。

daminglanyu

链表,建立链表、遍历链表、排序、去重、反转。。。。

(1).键盘输入一组元素,建立一个无头结点的单向链表(无序)。 (2).遍历(打印)单向链表。 (3).把单向链表中元素逆置(不允许申请新的结点空间)。 (4).在单向链表中删除所有的偶数元素结点。 (5).对链表排序,排序后链表元素按照非递减方式排列(注意:排序时如果要交换两个结点的顺序,不得通过交换结点的内容,而需要使用改变指针的方式交换结点的位置。建议使用直接插入排序算法)。 (6).利用算法5建立两个非递减有序单向链表,然后合并成一个非递减链表。 (7).利用算法1建立的链表,删除链表中的重复元素。 (8).利用算法1建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知的存储空间)。 (9).判断算法1和算法5生成单链表所表示的集合是否相等。 (10).在主函数中设计一个简单的菜单,分别调试上述算法。

nobody_22

C语言静态链表和动态链表

静态链表和动态链表是线性表链式存储结构的两种不同的表示方式。静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。动态链表是相对于静态链表而言的,一般地,在描述线性表的链式存储结构时如果没有特别说明即默认描述的是动态链表。

weixin_38538585
评论 3
收藏 已收藏
分享
返回顶部