当前位置: 首页 > news >正文

石狮网站建设公司哪家好云南建设工程信息网站

石狮网站建设公司哪家好,云南建设工程信息网站,深圳黑马品牌网站设计,网站 cms定义 线性表的链式存储不需要用连续的存储单元来实现,不需要逻辑上相邻的两个数据元素在物理上也相邻,它是通过链建立其数据元素之间的逻辑关系,因此对线性表的插入、删除不需要移动数据元素,只需要修改连。 为了访问链表&#…

定义

线性表的链式存储不需要用连续的存储单元来实现,不需要逻辑上相邻的两个数据元素在物理上也相邻,它是通过建立其数据元素之间的逻辑关系,因此对线性表的插入、删除不需要移动数据元素,只需要修改连
在这里插入图片描述
为了访问链表,必须找到链表的第一个数据单元,因此实际应用中常用一个称为“表头(Header)”的指针指向链表的第一个单元,并用它表示一个具体的链表。

结点的结构定义

typedef int ElementType;
typedef struct LNode* PtrToLNode;
typedef PtrToLNode Position;
typedef PtrToLNode List;struct LNode {ElementType Data;PtrToLNode Next;
};

相关操作

初始化

List MakeEmpty(List L) {L = (LNode*)malloc(sizeof(LNode));L->Next = NULL;return L;
}

插入

在这里插入图片描述

bool Insert(List L, ElementType X, int i) {int cnt = 0;List p = L;//printf("p: %d\n", p->Data);while (p != NULL && cnt != i-1) {p = p->Next;cnt++;}//printf("cnt: %d\n", cnt);if (p == NULL || cnt != i - 1) {printf("insert error!\n");return false;}else {List temp = (LNode*)malloc(sizeof(LNode) * 1);temp->Data = X;temp->Next = p->Next;p->Next = temp;}return true;}

求表长

int ListLength(List L) {int length = 0;List p = L->Next;while (p != NULL) {p = p->Next;length++;}return length;}

查找

按序号查找


ElementType Findkth(List L, int K) {//找到第i个结点的值List p = L->Next;int i = 1;while (p != NULL && i != K) {p = p->Next;i++;}if (p == NULL || i != K) {printf("can't find!\n");return -1;}else {return p->Data;}}

按值查找

Position Find(List L, ElementType X) {//由数值返回其结点位置List p = L->Next;while (p != NULL && p->Data !=X) {p = p->Next;}if (p->Data == X) {return p;}else{return NULL;}}

删除

bool Deletei(List L, int i) {//删除第i个结点List p=L, q = L;int cnt = 0;while (p != NULL && cnt!=i) {cnt++;q = p;p = p->Next;}if (p == NULL || cnt != i) {return false;}q->Next = p->Next;free(p);return true;}

完整代码

# include <stdio.h>
# include <stdlib.h>typedef int ElementType;
typedef struct LNode* PtrToLNode;
typedef PtrToLNode Position;
typedef PtrToLNode List;struct LNode {ElementType Data;PtrToLNode Next;
};List MakeEmpty(List L) {L = (LNode*)malloc(sizeof(LNode));L->Next = NULL;return L;
}bool Insert(List L, ElementType X, int i) {int cnt = 0;List p = L;//printf("p: %d\n", p->Data);while (p != NULL && cnt != i-1) {p = p->Next;cnt++;}//printf("cnt: %d\n", cnt);if (p == NULL || cnt != i - 1) {printf("insert error!\n");return false;}else {List temp = (LNode*)malloc(sizeof(LNode) * 1);temp->Data = X;temp->Next = p->Next;p->Next = temp;}return true;}
void print_link(List L) {List p = L->Next;while (p != NULL) {printf("Node : %d\n", p->Data);p = p->Next;}}int ListLength(List L) {int length = 0;List p = L->Next;while (p != NULL) {p = p->Next;length++;}return length;}ElementType Findkth(List L, int K) {//找到第i个结点的值List p = L->Next;int i = 1;while (p != NULL && i != K) {p = p->Next;i++;}if (p == NULL || i != K) {printf("can't find!\n");return -1;}else {return p->Data;}}Position Find(List L, ElementType X) {//由数值返回其结点位置List p = L->Next;while (p != NULL && p->Data !=X) {p = p->Next;}if (p->Data == X) {return p;}else{return NULL;}}bool Deletei(List L, int i) {//删除第i个结点List p=L, q = L;int cnt = 0;while (p != NULL && cnt!=i) {cnt++;q = p;p = p->Next;}if (p == NULL || cnt != i) {return false;}q->Next = p->Next;free(p);return true;}int main() {List L = NULL;L  = MakeEmpty(L);printf("Finish init!\n");ElementType X;int N;scanf_s("%d", &N);while (N--) {scanf_s("%d", &X);if (Insert(L, X, 1) == false) {printf("insert error!\n");}}print_link(L);int length = ListLength(L);printf("the list's length: %d\n", length);/*int x = Findkth(L, 2);printf("find: %d\n", x);List p = Find(L, 5);printf("findp: p->data: %d\n", p->Data);*/if (bool(Deletei(L, 2))) {printf("Delete Sucessfully!\n");}print_link(L);length = ListLength(L);printf("the list's length: %d\n", length);}
http://www.dtcms.com/a/594415.html

相关文章:

  • 易思网站管理系统深圳网站建设专家
  • (Arxiv-2025)KALEIDO:开源的多主体参考视频生成模型
  • 天津的网站建设公司哪家好土巴兔装修平台电话
  • 【02】深入理解Harris角点检测:从原理推导到实战实现
  • 防城港建设局网站类似游侠客网站建设
  • wordpress 仿站教程东圃手机网站建设电话
  • 3网站建设k大原画培训班官网
  • Spark的persist和cache
  • 28V直流电源简要技术方案
  • 门户网站建设管理总则wordpress linux 下载
  • Web开发核心概念集合
  • 建设施工合同百度权重优化软件
  • Day58 | Java IO模块概览
  • 新闻联播(2025年11月10日总第二期)
  • 学校后勤网站建设方案wordpress 优惠卷
  • 合肥义城建设集团有限公司网站四川省住房城乡建设厅网站
  • 青岛网站制作seo建设网站需要服务器
  • 企业级 ERP 安全隐患全景:接口未鉴权、默认配置与远程执行的系统性剖析
  • 做视频的素材网站阿里云 域名申请
  • 自己建设网站容易吗哪个网站做图片外链
  • 分布式专题——50 电商项目仿京东商品搜索服务实战
  • 第三方应用软件提权之symantic pcanywhere提权
  • 科普:LLM领域中的“样本(sample)”、“指令(instruction)”和“提示词(prompt)”
  • 宁波网站运营优化系统推广营销方案
  • 【WIP】大模型运维中GPU机器介绍
  • 在家没事做建什么网站好joomla 网站建设教程
  • explorer.exe源代码分析之热键的注册和处理
  • 免费做网站通栏广告做企业网站哪家好
  • 后端开发CRUD实现
  • 4.忘记密码页测试用例