C语言数据结构题。用头插法和尾插法建立一个单链表L。
解决时间 2021-02-08 11:25
- 提问者网友:不在服务区的爱
- 2021-02-07 16:44
可以定义好一个数组,用分别头插法和尾插法输出一个单链表L。或者手动输入一个数组,分别用头插法和尾插法输出一个单链表L。
void CreateListF(LinkList *&L,ElemType a[],int n)
{
LinkList *s;
int i;
L=(LinkList *)maclloc(sizeof(LinkList));
L->next=NULL;
for(i=0;i {
s=(LinkList *)malloc(sizeof(LinkList));
s->data=a[i];
s->next=L->next;
L->next=s;
}
}
这是书上的一部分方法。求完整的代码。比如怎么定义数组,调用这个方法
最佳答案
- 二级知识专家网友:轉角離身
- 2021-02-07 17:16
可以像下面这样,供参考
typedef int ElementType;
typedef struct
{
ElementType data;
LinkList *next;
} LinkList, *PtrLinkList;
int main()
{
ElementType *array = new LinkList[10];
for(int i = 0; i<10; i++)
{
array[i] = i;
}
PtrLinkList pList = NULL;
CreateListF(pList, array, 10);
return 0;
}
全部回答
- 1楼网友:嶒經忲氾濫
- 2021-02-07 17:21
//---------------------------------------------------------------------------
#include
#include
typedef struct wcf{
char data;
struct wcf *next;
} wcf;
wcf *cr(wcf *a,char d)
{
wcf *t=null;
if (a==null) {
t=(wcf *)malloc(sizeof(wcf));
t->data =d;
t->next =null;
a=t;
}
else {
a->next =cr(a->next ,d);
}
return a;
}
int main(void)
{
wcf *wf=null,*tf;
char d;
while ((d=getchar())!='\n')
wf=cr(wf,d);
while (wf!=null)
{
tf=wf;
putchar(wf->data);
wf=wf->next ;
free(tf);
}
return 0;
}
//---------------------------------------------------------------------------
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯