//输入n个字符建立带头结点的单链表 LinkList CreateList(int n) { LinkList pre,head,q; int i; //申请头结点初始化单链表 pre=head=(LNode*)malloc(sizeof(LNode)); if(head) head->next=NULL; else return head; //输入n个字符建立单链表 }
时间: 2023-05-22 11:07:12 浏览: 88
这是一个关于单链表创建的问题,可以回答。
可以使用下面这段代码来建立带头结点的单链表:
```C++
typedef struct LNode
{
char data;
struct LNode* next;
}LNode,*LinkList;
LinkList CreateList(int n)
{
LinkList pre,head,q;
int i;
head = (LNode*)malloc(sizeof(LNode));
if(!head)
return NULL;
head->next = NULL;
pre = head;
for(i = 0;i < n;i ++)
{
q = (LNode*)malloc(sizeof(LNode));
if(!q)
return NULL;
scanf(" %c",&(q->data)); //输入字符
q->next = NULL;
pre->next = q;
pre = q;
}
return head;
}
```
这个函数的作用是输入n个字符,然后以这些字符建立带头结点的单链表,并返回头结点。
调用该函数可以这样做:
```C++
int main()
{
int n;
LinkList list;
printf("请输入n的值:");
scanf("%d",&n);
list = CreateList(n); //调用函数
return 0;
}
```
阅读全文