c语言链表的逆序创建、插入和删除等基本操作算法
时间: 2024-04-03 17:37:07 浏览: 56
链表的逆序创建、插入和删除等基本操作算法如下:
1. 链表的逆序创建:
1.1 定义一个指向链表头结点的指针head,一个指向新节点的指针pnew和一个指向上一个节点的指针pre。
1.2 将head指针指向NULL,表示链表为空。
1.3 循环输入新节点的值,直到输入0为止。
1.4 创建一个新节点pnew,将输入的值赋值给pnew->data。
1.5 如果head指针为NULL,则将head指向pnew,pnew->next指向NULL。
1.6 如果head指针不为NULL,则将pnew->next指向head,head指向pnew。
1.7 将pre指向pnew,以便下一次循环使用。
1.8 最后输出链表中所有节点的值。
2. 链表的插入操作:
2.1 定义一个指向链表头结点的指针head、一个指向待插入节点的指针pnew和一个指向待插入位置前一个节点的指针pre。
2.2 创建一个新节点pnew,将待插入值赋值给pnew->data。
2.3 如果head指针为NULL,则将head指向pnew,pnew->next指向NULL。
2.4 如果head指针不为NULL,则使用循环找到待插入位置的前一个节点pre。
2.5 将pnew->next指向pre->next,将pre->next指向pnew,完成插入操作。
2.6 最后输出链表中所有节点的值。
3. 链表的删除操作:
3.1 定义一个指向链表头结点的指针head、一个指向待删除节点的指针pdel和一个指向待删除位置前一个节点的指针pre。
3.2 如果head指针为NULL,则提示链表为空,删除操作无法进行。
3.3 如果head指针不为NULL,则使用循环找到待删除位置的前一个节点pre。
3.4 如果pre->next指向NULL,则提示该位置不存在节点,删除操作无法进行。
3.5 如果pre->next指向待删除节点pdel,则将pre->next指向pdel->next,完成删除操作。
3.6 释放pdel节点的内存空间。
3.7 最后输出链表中所有节点的值。
以上就是链表的逆序创建、插入和删除等基本操作算法。
阅读全文