这个题目本身十分基础,但是在编写过程中还是出现了问题,主要考虑一个类型问题,以及其中运用了链表结点的头插法。对于这段程序,仍然心中有些疑惑,就是exit函数的究竟用法并不十分清晰,还要在以后的训练中自己摸索。
// 3.1 编写打印出一个单链表的所有元素的程序
// 1.定义链表存储结构
// 2.定义创建链表函数
// 3.定义打印链表函数
// 4.主函数调用创建打印函数
#include
#include
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
int CreateList(LinkList &L,int n)
{
LinkList p;
int i;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
printf("请输入链表中元素,并以空格分隔:");
for(i=0;i
data);
p->next=L->next;
L->next=p;
}
return OK;
}
void PrintList(LinkList L)
{
LinkList p;
p=L->next;
printf("head");
while(p)
{
printf("->%d",p->data);
p=p->next;
}
printf("\n");
}
int main()
{
LinkList L;
int n;
printf("请输入链表中元素的个数:");
scanf("%d",&n);
CreateList(L,n);
printf("该链表为:");
PrintList(L);
return 0;
}