关于创建动态链表即输出链表的模板代码
关于创建动态链表; 首先我们创建一个结构体
typedef struct ListNode
{
int val;
struct ListNode * next;
}ListNode;
创建动态链表
ListNode * creat()
{
ListNode * head , * p1 , * p2;
p1 = p2 = (ListNode * )malloc(LEN);
head = NULL;
scanf("%d",&p1 -> val);
while(p1 -> val != -1)
{
if(head == NULL)head = p1;
else p2 -> next = p1;
p2 = p1;
p1 = (ListNode * )malloc(LEN);
scanf("%d",&p1 -> val);
}
p2 -> next = NULL;
return head;
}
输出动态链表
void print(ListNode * head)
{
if(head ==NULL)
{
puts("NULL");
return;
}
ListNode * p = head;
while(p)
{
printf("%d ",p -> val);
p = p -> next;
}
puts("");
}
主函数内
int main()
{
ListNode * head;
head = creat();
print(head);
return 0;
}
看看运行结果吧~ 输入 9 8 7 6 5 -1 输出 9 8 7 6 5 截图如下 以上算是创建动态链表的一个模板!!!!
|