``#include<stdio.h>
#include<stdlib.h>
typedef struct Node *ptrtonode; //为struct Node取别名为ptrtonode,可以直接用类型ptrtonode来定义指针变量
typedef ptrtonode List; //为ptrtonode取别名为List,可以直接用类型List类型来定义指针变量
typedef ptrtonode position;
struct Node //定义单播结点,结点为结构体,包含字符成员data和指针变量成员next
{
char data; //结点的数据域,用来存储一个字符
position next; //结点的指针域,用来指向下一个结点
}a; //定义结构体变量a
经典的结构体建立
position creat()
{
position L; //定义结构体指针变量L,用来指向单链表头部
position p1,p2; //定义结构体指针变量p1,p2,作为临时指针指向结点
char data;
L=(position)malloc(sizeof(a)); //申请一个结点大小的空间,用指针L指向这个空间首地址
p2=L; //p2指针也指向L指的结点
while((data=getchar())!=’#’) //从键盘获取字符存入变量data中,如果从键盘获取的字符不是’#'则循环
// 请在此添加代码,完成链表的初始化
/********** Begin /
{ p1=(position)malloc(sizeof(a));
p1->data=data;
p2->next=p1;
p2=p1;}
/* End **********/
p2->next=NULL; //p2指向的结点的指针域置空,表示是最后一个结点
return L; //
}
void print(List head) //传入单链表头指针head,完成对单链表的遍历
{
position p;
p=head->next; //临时指针变量p指向单链表的第一个结点
while(p!=NULL)
{
printf("%c",p->data); //获取单链表中p指针指向的结点的数据域的字符并输出
//p指针指向下一个结点
}
printf("\n");
}.void main()
{
position L=NULL;
printf(“请输入链表节点,以回车结束:\n”);
L=creat(); //调用creat函数,完成单链表的创建
printf(“初始链表为:\n”);
print(L); //调用print函数,完成单链表的遍历
}
**看程序先看main
所以今天的单链表的建立和输出就完成了
**下面有 .c文件想研究的就拿去
#include<stdio.h>
#include<stdlib.h>
typedef struct Node *ptrtonode; //为struct Node取别名为ptrtonode,可以直接用类型ptrtonode来定义指针变量
typedef ptrtonode List; //为ptrtonode取别名为List,可以直接用类型List类型来定义指针变量
typedef ptrtonode position;
struct Node //定义单播结点,结点为结构体,包含字符成员data和指针变量成员next
{
char data; //结点的数据域,用来存储一个字符
position next; //结点的指针域,用来指向下一个结点
}a; //定义结构体变量a
position creat()
{
position L; //定义结构体指针变量L,用来指向单链表头部
position p1,p2; //定义结构体指针变量p1,p2,作为临时指针指向结点
char data;
L=(position)malloc(sizeof(a)); //申请一个结点大小的空间,用指针L指向这个空间首地址
p2=L; //p2指针也指向L指的结点
while((data=getchar())!='\#') //从键盘获取字符存入变量data中,如果从键盘获取的字符不是'\#'则循环
// 请在此添加代码,完成链表的初始化
/********** Begin *********/
{ p1=(position)malloc(sizeof(a));
p1->data=data;
p2->next=p1;
p2=p1;}
/********** End **********/
p2->next=NULL; //p2指向的结点的指针域置空,表示是最后一个结点
return L; //
}
void print(List head) //传入单链表头指针head,完成对单链表的遍历
{
position p;
p=head->next; //临时指针变量p指向单链表的第一个结点
while(p!=NULL)
{
printf("%c",p->data); //获取单链表中p指针指向的结点的数据域的字符并输出
p=p->next; //p指针指向下一个结点
}
printf("\n");
}
void main()
{
position L=NULL;
//printf("请输入链表节点,以回车结束:\n");
L=creat(); //调用creat函数,完成单链表的创建
//printf("初始链表为:\n");
print(L); //调用print函数,完成单链表的遍历
}