#include <stdio.h>
#include <stdlib.h>
/*
单链表操作:
1.建立链表
2.遍历打印链表
*/
struct Node
{
int value;
struct Node *pNext;
};
struct Node * initList(void);
void printListElements (struct Node *pHeader);
int main(int argc, char **argv)
{
struct Node *ph = initList();
printListElements(ph);
return 0;
}
struct Node * initList(void)
{
struct Node *pHeader;
struct Node *pTail;
struct Node *pnode;
int i, num;
pHeader = (struct Node *)malloc(sizeof(struct Node));
pTail = (struct Node *)malloc(sizeof(struct Node));
pHeader -> pNext = pTail;
printf("请输入链表元素个数:");
scanf("%d", &num);
for (i = 1; i < num + 1; i++)
{
printf("\n请输入第%d个元素值:", i);
scanf("%d", &pTail -> value);
pnode = (struct Node *)malloc(sizeof(struct Node));
pTail -> pNext = pnode;
pTail = pTail -> pNext;
}
pTail -> pNext = NULL;
return pHeader;
}
/*遍历链表,打印所有元素值*/
void printListElements (struct Node *pHeader)
{
struct Node *pnode;
int i = 1;
pnode = pHeader -> pNext;
while( NULL != pnode -> pNext)
{
printf("第%d个元素值是:%d\n", i, pnode->value);
i++;
pnode = pnode -> pNext;
}
}
单链表操作
最新推荐文章于 2022-02-18 13:15:00 发布