参考网上的两个链表案例,整理了一份针对单链表进行创建、遍历、排序、删除操作的代码如下,以备后用。
/**
* 链表创建、遍历、排序、删除操作
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
//定义链表中的节点
typedef struct node
{
int data; //节点中的成员
struct node *pNext; //指向下一个节点的指针
}Node,*pNode;
/**
* 创建链表
*/
pNode CreateList()
{
int i, len, val;
pNode pHead = (pNode)malloc(sizeof(Node)); //创建头结点并分配内存
pNode pTail = pHead;
pTail->pNext = NULL;
printf("请输入节点个数:");
scanf("%d", &len);
for(i = 0; i < len; i++)
{
printf("第 %d 个节点的数值:",i+1);
scanf("%d",&val);
pNode pNew = (pNode)malloc(sizeof(Node)); //创建节点
pNew->data = val; //将用户输入的数据赋给节点的成员
pTail->pNext = pNew;