题解 | #牛牛的单向链表#
牛牛的单向链表
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;
}