已知head指向一个带头结点的单向链表,链表中每个结点包含字符型数据域(data)和指针域(next)。请编写函

要完整的!

#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node*next;
}node,*pnode;
pnode create(void);
void output(pnode head);
void inverse(pnode head);
int main()
{
pnode head;
head=create();
output(head);
inverse(head);
return 0;
}
pnode create(void)
{
int i;
int a[]={2,7,9,8,3,0};//使用数组初始化链表,遇0链表结束,0不存入链表
pnode head=(pnode)malloc(sizeof(node));
pnode p,q;
head->next=NULL;
p=head;
for(i=0;a[i]!=0;i++)
{
q=(pnode)malloc(sizeof(node));
q->data=a[i];
q->next=p->next;
p->next=q;
p=p->next;
}
return head;
}
void output(pnode head)
{
pnode p=head->next;
while(p!=NULL)
{
printf("%d",p->data);
p=p->next;
}
printf("\n");
}
void inverse(pnode head)
{
pnode p,q;
p=head->next;
q=p->next;
head->next=NULL;
while(q!=NULL)
{
p->next=head->next;
head->next=p;
p=q;
q=q->next;
}

p->next=head->next;
head->next=p;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-28
已知head指向一个带头结点的单向链表链表中每个结点包含字符型数据域data和指针域next。请编写函数实现链表的逆置。
第2个回答  2012-06-03
啊,编写什么???追问

已知head指向一个带头结点的单向链表,链表中每个结点包含字符型数据域(data)和指针域(next)。请编写函数实现在值为a的结点前插入值为key的结点,若没有值为a的结点,则插在链表最后。要完整的!!!

本回答被网友采纳
相似回答