🔄 单链表操作 头插法建立单链表 尾插法建立单链表 按序号查找结点 按值查找结点 插入结点 删除结点 求表长🔄 双链表操作 插入结点 删除结点📝 代码示例 单链表定义 typedef struct LNode { ElemType data; struct LNode *next; } LNode, *LinkList;双链表定义 typedef struct DNode
1. 创建单链表 2. 插入节点 3. 删除节点 4. 反转链表 5. 倒数第K个节点 6. 是否有环 定义 链表:由一系列结点(链表中每一个元素称为结点)组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 typedef struct ListNode{ int val; struct ListNode* next; ListNod...
第2种算法,做一个数组arr[4],让我们遍历单链表,把第0个、第4个、第8个……第4N个扔到arr[0],把第1个、第5个、第9个……第4N+1个扔到arr[1],把第2个、第6个、第10个……第4N+2个扔到arr[2],把第3个、第7个、第11个……第4N+3个扔到arr[3],这样随着单链表的遍历结束,arr中存储的就...
{intdate, num;//待查找数据inti3;//指定删除元素的位置inti1, i2, Newdate_1, Newdate_2;//待插入的新数据intDelete_date, k;//待删除的数据与其个数Node *Head = NULL;//定义头结点Node *Head_New =NULL;//链表建立Head =creat(); printf("输出建立的单链表\r\n"); output(Head);//单链表...
🔗 双向链表操作大全 📖 🔍 初始化双向链表: ```c void Init_DuL(DuLinkList *L) { *L = (DuLinkList)malloc(sizeof(DuLNode)); (*L)->data = 0; (*L)->next = *L; (*L)->prior = *L; } ``` 📈 链表长度查询: ```c Status Length_DuL(DuLinkList *L) { Du...