题解 | #牛牛的链表添加节点#
牛牛的链表添加节点
https://www.nowcoder.com/practice/e33b79c2e15a41f9b541e73cd256124a
#include <stdio.h> #include<stdlib.h> typedef struct LNode{ int data; struct LNode* next; }LNode,*LinkList; void toil_insert(LinkList L,int num){ LNode* p = (LNode*)malloc(sizeof(LNode)); p->data = num; p->next = NULL; LNode* r; for(r=L;r->next!=NULL;r=r->next); r->next = p; L->data++; } void pos_insert(LinkList L,int pos){ LNode* p = (LNode*)malloc(sizeof(LNode)); p->data = pos; p->next = NULL; LNode* q = L; while(pos--){ q = q->next; } p->next = q->next; q->next = p; L->data++; } int main() { int n; scanf("%d",&n); int pos; scanf("%d",&pos); int* arr = (int*)calloc(n,sizeof(int)); int i; for(i=0;i<n;i++){ scanf("%d",arr+i); } LinkList L = (LNode*)malloc(sizeof(LNode)); L->data = 0; L->next =NULL; for(i = 0;i<n;i++){ toil_insert(L, *(arr+i)); } pos_insert(L, pos); LNode* p; for(p = L;p->next!=NULL;p=p->next){ printf("%d ",p->next->data); } return 0; }