两种链表append a node 的方式

第一种:

#include <string.h> #include <stdlib.h> typedef struct list{ struct list *next; int data; }list, *p_list; list * insert_no_effect(list *head, list * in_node) { list *p = head; if(in_node->next) return NULL; while(p) { p = ((p)->next); } p = in_node; return head; } list * insert_with_effect(list *head, list * in_node) { list **p = &head; if(in_node->next) return NULL; while(*p) { p = &((*p)->next); } *p = in_node; return head; } int _tmain(int argc, _TCHAR* argv[]) { list *head = (p_list)malloc(sizeof(list)); head->next = NULL; head->data = 1; list *in_node = (p_list)malloc(sizeof(list)); in_node->next = NULL; in_node->data = 2; insert_with_effect(head, in_node); return 0; }

第二种:

#include <stdlib.h> typedef struct ItemList{ int data; struct ItemList *pNext; }ItemList, *pItemList; void insert(int data, pItemList in_Item) { pItemList p = in_Item; if(!p) return ; while(p->pNext) { p = p->pNext; } p->pNext = (pItemList)malloc(sizeof(ItemList)); p = p->pNext; p->pNext = NULL; p->data = data; return; } int _tmain(int argc, _TCHAR* argv[]) { ItemList tt = {0, NULL}; insert(100, &tt); tt; return 0; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值