想申请下关于单链表的问题,谢谢哦
//写个用单链表将一个线性表逆置的程序,要求仍用原空间,亲们帮忙看看我的代码,十分感谢,还有这个main函数怎么写呢?因为只能用原来的空间,所以我先将头结点之后的数据存入指针中之后再令head->next=NULL;然后头插。#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
}Lnode,*linklist;
linklist creat()
{
linklist head=(linklist)malloc(sizeof(Lnode));
head=NULL;
Lnode *p;
int x;
printf("input number x:\t");
scanf("%d",&x);
while(x!= -1)
{
p=(linklist)malloc(sizeof(Lnode));
p->data=x;
p->next=head->next;
head->next=p;
printf("input number x:\t");
scanf("%d",&x);
}
return head;
}
linklist storage(linklist head,int x) //查找并存储头结点之后的数据们
{
Lnode *s=head->next;
while(s!=NULL && s->data!=x)
s=s->next;
return s;
}
int insert(linklist head,int x)
{
Lnode *q,*t;
q=storage(head,x);
if(q==NULL)
{
printf("找不到 x\n");
return 0;
}
else
{
t=(linklist)malloc(sizeof(Lnode));
t->data=x;
t->next=q->next;
q->next=t;
return 1;
}
}
[此贴子已经被作者于2016-9-18 20:21编辑过]