//单链表的练习
#include "stdlib.h"
#include "stdio.h"
void printLinkList(struct node *h);
//单链表数据结构
typedef struct node {
int data; //数据域
struct node *next; //指针域
}Lnode,*LinkList;
//创建链表 带头结点
LinkList createLinkList(int n)
{
struct node *h, *p, *q;
int i;
p=(struct node *)malloc(sizeof(struct node));
h=p;
q=p;
for(i=0;i<n;i++)
{
p=(struct node *)malloc(sizeof(struct node));
printf("请输入第%d个元素的值:", i+1);
scanf("%d", &(p->data));
q->next=p;
q=p;
}
q->next=NULL;
return h;
}
//查找链表中某个数据
//查找操作不涉及修改链表中的节点位置,所以依然返回之前的头结点,不作修改
LinkList FindElem(LinkList h){
LinkList p = h->next;
int data;
printf("请输入要查找的元素:\n");
scanf("%d",&data);
int i = 1;
int flag = 0;
while(p!= NULL){
if (data == p->data){
printf("查找到的元素为%d\n",data);
flag = 1;
break;
}
p = p->next;
i++;
}
if (flag == 1){
printf("查找到的元素在第%d个位置\n",i);
} else{
printf("没找到相关元素\n");
}
return h;
}
数据结构--线性表(单链表C语言实现)
最新推荐文章于 2024-07-26 11:13:55 发布
本文详细介绍了如何使用C语言实现数据结构中的线性表——单链表。内容涵盖单链表的基本概念、节点定义、插入、删除操作的代码实现,帮助读者深入理解单链表的底层原理。
摘要由CSDN通过智能技术生成