题解 | #牛牛的单向链表#
牛牛的单向链表
https://www.nowcoder.com/practice/95559da7e19c4241b6fa52d997a008c4
#include <stdio.h> #include <stdlib.h> #include <assert.h> typedef struct listnode { int data; struct listnode* next; }listnode; listnode* buynodelist(int x) { listnode* node=(listnode*)malloc(sizeof(listnode)); assert(node); node->data=x; node->next=NULL; return node; } //尾插 void slpushback(listnode** pphead,int x) { assert(pphead); listnode* newnode=buynodelist(x); if(*pphead==NULL) { *pphead=newnode; } else{ listnode* ptail=*pphead; while(ptail->next != NULL) { ptail=ptail->next; } ptail->next=newnode; } } //输出函数 void slprint(listnode* phead) { listnode* pcur=phead; while(pcur!=NULL) { printf("%d ",pcur->data); pcur=pcur->next; } } int main() { int n=0; scanf("%d",&n); int arr[n]; for(int i=0;i<n;i++) { scanf("%d",&arr[i]); } listnode* list =NULL; for(int i=0;i<n;i++) { slpushback(&list, arr[i]); } slprint(list); return 0; }