本帖最后由 jackz007 于 2019-4-12 14:21 编辑 #include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct LNode {
int data ;
struct LNode * next ;
} LNode , * LinkList ;
LinkList CreateList(void)
{
int i , n , data ;
LinkList head , p1 , p2 ;
head = NULL ;
printf("输入节点数:") ;
scanf("%d" , & n) ;
if(n > 0) {
for(i = 0 ; i < n ; i ++) {
printf("节点 %d : " , i + 1) ;
scanf("%d" , & data) ;
if((p2 = (LinkList) malloc(sizeof(LNode))) != NULL) {
p2 -> data = data ;
p2 -> next = NULL ;
if(! i) head = p2 ;
else p1 -> next = p2 ;
p1 = p2 ;
} else {
fprintf(stderr , "error : malloc() failure!\n") ;
break ;
}
}
}
return head ;
}
void Listtraverse(LinkList L)
{
LinkList p ;
p = L ;
while(p != NULL) {
printf("%d\n" , p -> data) ;
p = p -> next ;
}
}
int GetElem(LinkList L , int n)
{
int i , e ;
LinkList p ;
e = -1 ;
for(i = 0 , p = L ; i < n && p != NULL ; i ++) p = p -> next ;
if(i == n && p != NULL) {
printf("第%d个元素是%d\n" , n , p -> data) ;
e = 0 ;
}
return e ;
}
main(void)
{
LinkList L ;
L = CreateList() ;
while(L){
printf("%d\n" , L -> data) ;
L = L->next ;
}
}
|