#2
Buger2013-05-03 12:15
|
程序代码:
#include <stdio.h>
#include <malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode, *LinkList;
int CreatLinkList(LinkList L)
{
LNode *p, *r;
L = (LinkList)malloc(sizeof(LNode));
p = r = L;
printf("请输入创建的长度\n");
int n, i;
scanf("%d", &n);
printf("请输入数字\n");
for(i = 1; i <= n; i++)
{
p = (LNode *)malloc(sizeof(LNode));
scanf("%d", &p -> data);
r -> next = p;
r = p;
}
r -> next = NULL;
}
void getElem(LinkList L)
{
LNode *p = L;
int j = 0, i;
printf("请输入要取的元素序号\n");
scanf("%d", &i);
while(j < i)
{
L = L -> next;
j++;
}
if(j == i) printf("所取的元素是%d\n", p -> data);
}
int main()
{
LinkList L;
//InitLinkList(L); //初始化
CreatLinkList(L); //创建
getElem(L); //取值
//locateElem(&L); //查找
//listInsert(&L); //插入
//listDelete(&L); //删除
//listDestroy(&L); //销毁
return 0;
}
请问怎么错我了...我用的尾插法建立的...求懂的朋友帮忙!#include <malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode, *LinkList;
int CreatLinkList(LinkList L)
{
LNode *p, *r;
L = (LinkList)malloc(sizeof(LNode));
p = r = L;
printf("请输入创建的长度\n");
int n, i;
scanf("%d", &n);
printf("请输入数字\n");
for(i = 1; i <= n; i++)
{
p = (LNode *)malloc(sizeof(LNode));
scanf("%d", &p -> data);
r -> next = p;
r = p;
}
r -> next = NULL;
}
void getElem(LinkList L)
{
LNode *p = L;
int j = 0, i;
printf("请输入要取的元素序号\n");
scanf("%d", &i);
while(j < i)
{
L = L -> next;
j++;
}
if(j == i) printf("所取的元素是%d\n", p -> data);
}
int main()
{
LinkList L;
//InitLinkList(L); //初始化
CreatLinkList(L); //创建
getElem(L); //取值
//locateElem(&L); //查找
//listInsert(&L); //插入
//listDelete(&L); //删除
//listDestroy(&L); //销毁
return 0;
}