单链表常用来做队列和栈,本文简单介绍C语言中常用的单链表增删查方法的流程和代码。
首先,定义元素类型和结构体:
typedef int ElemType;
typedef struct LNode{
ElemType data;
LNode* next;
}LNode,*LinkList;
查找:
可以根据单链表的位置或者数据值这两种方法进行查找
1)根据位置查找
代码:
LinkList search_locate(LinkList L, int n){
//定义临时变量i,用于循环查找
int i=0;
//如果n<0,提示无效位置的错误
if(n<0){
printf("invalid position! please input a number larger than 0 !");
}
//遍历并返回位置为n的节点
while(L&&i<n){
L=L->next;
i++;
}
return L;
}
1)根据数据值查找
代码:
LinkList search_value(LinkList L, ElemType x){
//遍历L,如果L的data与要查找的数据值相等,返回L
while(L){