单链表的建立和遍历

来源:互联网 发布:法国红酒推荐 知乎 编辑:程序博客网 时间:2024/06/18 06:41
#include <iostream>using namespace std;typedef struct Node {int count;struct Node *next;}node;node* mycreat(int n){int val;node *head=NULL,*p=NULL,*ne=NULL;head=(node*)malloc(sizeof(node));p=head;//存好头指针while(n--){scanf("%d",&val);ne=(node*)malloc(sizeof(node));//开辟写一个指针的空间ne->count=val;//下一个指针存的值是刚输进的值p->next=ne; //将这个指针与下一个链接起来p=ne;//将动态指针指向下一个}p->next=NULL;//p更新到这里指的是最后一个链,此时他的next不存在值定为nullreturn head;//返回头指针}void myprint(node *head){int f=0;node *p=NULL;p=head->next;//指针指向头指针的下一个while(p!=NULL)//只要p不为空{if(f==0) printf("%d",p->count);//输出动态p此时指向链的数值elseprintf(" %d",p->count);f++;p=p->next;//动态p指向下一个链}printf("\n");return;}int main(){int n;node *head;while(~scanf("%d",&n)){head=mycreat(n);myprint(head);}return 0;}

原创粉丝点击