#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef int ElemType;
typedef int Status;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
void CreatList(LinkList &L,int n)//創建鏈表 頭插法
{ LinkList p; int i;//LinkList p或者LNode *p
L = (LinkList)malloc(sizeof(LNode));
//L->next==NULL;
L->next=NULL;
for(i=n;i>0;i--){
p=(LinkList)malloc(sizeof(LNode));
scanf("%d", &(p->data));
p->next = L->next;
L->next = p;
}
}
void CreatListTail(LinkList &L,int n)//創建鏈表 尾插法
{ LNode *s; int i;//LinkList p或者LNode *p
LinkList r;
L = (LinkList)malloc(sizeof(LNode));
//L->next==NULL;
L->next=NULL;
r=L;
for(i=1;i<n;i++){
s=(LinkList)malloc(sizeof(LNode));
scanf("%d", &(s->data));
s->next = NULL;
r->next = s;
r=s;
}
}
//Listprint(LinkList &L)//鏈表顯示
Status Listprint(LinkList &L)//鏈表顯示
{
// LNode *p;
//p=L;
LNode *p = L->next;

while(p!=NULL){
printf("%3d",p->data);
p=p->next;
}
printf("\n");
return OK;
}
int main()
{ int x,n,i,e, ret;
LinkList H,T;
printf("輸入單鏈表的長度\n");
scanf("%d",&x);
CreatList(H,x);
Listprint(H);
printf("輸入單鏈表的長度\n");
scanf("%d",&n);
CreatListTail(T,n);
Listprint(T);
}
uj5u.com熱心網友回復:
r=L;for(i=1;i<n;i++){
s=(LinkList)malloc(sizeof(LNode));
這里i=0;i<n; 或者 I=1;i<=n 才對, 否則就是少了一個
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/113092.html
標籤:C語言
上一篇:小白入門求解決問題(提取元音字母),不知道哪里錯了,求解答
下一篇:如何在程式中復位USB設備
