【c语言】链式数据结构实现

#include <stdio.h>
typedef struct {
    int val;
//指向下一个节点
struct node *p_next; }node; int main(){ node node1 = {10}, node2 = {20},node3 = {30}; node head = {0},tail = {0}; node *p_tmp = NULL; head.p_next = &node1; node1.p_next = &node2; node2.p_next = &node3; node3.p_next = &tail; node node4 = {25}; //插入node4节点 for (p_tmp = &head;p_tmp != &tail;p_tmp = p_tmp->p_next) { node *p_first = p_tmp; node *p_mid = p_first->p_next; node *p_last = p_mid->p_next; if(p_mid == &tail || p_mid->val > node4.val){ p_first->p_next = &node4; node4.p_next = p_mid; break; } }
//删除节点
for (p_tmp = &head;p_tmp != &tail;p_tmp = p_tmp->p_next){ node *p_first = p_tmp; node *p_mid = p_first->p_next; node *p_last = p_mid->p_next; if(p_mid->val == 20) { p_first->p_next = p_last; break; } } //遍历节点 for (p_tmp = &head;p_tmp != &tail;p_tmp = p_tmp->p_next) { node *p_first = p_tmp; node *p_mid = p_first->p_next; node *p_last = p_mid->p_next; if(p_mid != &tail){ printf("%d",p_mid->val); } } printf("\n"); return 0; }

 

posted @ 2022-08-08 11:07  老年新手工程师  阅读(34)  评论(0编辑  收藏  举报