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

系统app定制开发长安网站优化公司

系统app定制开发,长安网站优化公司,wordpress能放几个域名,厦门百度seo今天,我来讲一下数据结构链表的基本操作,首先我们要知道链表的基本操作有创建,查找,插入,删除。接下来我们逐一实现操作。 结构体定义 typedef struct Node* List; struct Node{ ElementType Data; List next; };文章…

今天,我来讲一下数据结构链表的基本操作,首先我们要知道链表的基本操作有创建,查找,插入,删除。接下来我们逐一实现操作。

结构体定义

typedef struct Node* List;
struct Node{
ElementType Data;
List next;
};

文章目录

  • 创建
  • 查找
  • 插入
  • 删除

创建

List creat() {
List L;
L = (List)malloc(sizeof(struct Node));
L->next = NULL;
return L;
}

创建相对比较简单,先申请内存,之后让next为NULL,返回我们创建的头节点就行了。

查找

int Find(List head, int X) {
List L = head;
int i = 0;
while (L->next != NULL&&i<X) {L = L->next;i++;
}
if (i == X) {return i;
}
else {return NULL;
}
}

这里我们有两个参数,一个是指向头节点的指针,一个是我们要插入的位置序号,在这里我们先要让i=0,因为这个链表是有头指针的,第一个不能算进节点中,之后我们进行循环,并且让i++,循环结束的条件要么是找到了,也就是i=x,要么是没有找到,找到了我们就返回i的值,没有找到我们就返回NULL表明我们没有找到。

插入

bool Insert(List head, ElementType X, int p) {
int i = 1;
int k;
List L = head;
k = Find(head, p);
if (k == NULL) {printf("插入的位置有错");return false;
}
else {List tail = (List)malloc(sizeof(struct Node));tail->Data = X;for (; L->next != NULL&&i < p ; i++) {L = L->next;}tail->next = L->next;L->next = tail;return true;
}
}

这里我们输入三个参数,一个是头节点,一个是我们要插入的值,一个是我们要插入的位置。
在这里我们仍然用i来计数,为什么这里我们用i=1而不是i=0呢,因为比如我们要插入到第二个节点,那么我们只需要找到第一个节点的位置,而不需要第二个节点的地址,之后我们检查插入的合法性,如果不合法那么我们直接返回,否则就继续,在这里我们先申请一个节点的空间,之后进入循环,当循环结束的时候,我们肯定找到了要插入位置的前一个位置,这时我们就可以进行节点的插入了,之后返回true。

删除

bool Delete(List head, int p) {
int k,i=1;
List L = head;
List tail;
k = Find(head, p);
if (k == NULL) {printf("删除的位置错误");return false;
}
else {for (; L->next != NULL&&i<p; i++) {L = L->next;}tail = L->next;L->next = L->next->next;free(tail);return true;
}
}

在这里我们输入两个参数,一个是头节点,一个是要删除的位置。
在这里我们依然让i=1,原因是链表是单向的,我们只需要找到要删除位置的前一个位置就行了,还是先检查删除的合法性,如果不合法那么我们就直接返回,如果合法那么我们就进行下一步操作,当循环终止的时候说明我们找到了删除位置的前一个位置,这时我们就可以进行删除操作了,
至此,讲解完毕。
(新人写作,难免有错误或不够精简的地方,请谅解,也请各位指点)

http://www.mnyf.cn/news/37521.html

相关文章:

  • 图片在线设计网站策划方案模板
  • 2008服务器网站考证培训机构
  • 虎丘做网站价格热搜在哪里可以看
  • wordpress小说网站主题浙江网络科技有限公司
  • 网站推广托管官网seo
  • 百度地图开发网站网络推广方法怎么样
  • 宠物网站建设报告店面怎么做位置定位
  • 营销型网站模板百度搜索开放平台
  • 怎么做视频平台网站吗外链代发2分一条
  • 汽车网站建设需要多少钱石家庄关键词优化平台
  • 电影网站html源码百度网盘搜索
  • 什么网站做美食最好最专业电商线上推广渠道
  • 建e网是什么软件郑州网站运营实力乐云seo
  • wordpress最新版怎么变成英文seo营销培训咨询
  • 抖音短视频推广网站seo排名优化方法
  • 龙岗外贸网站建设公司价格东莞网站建设推广哪家好
  • 黄江网站建设网站关键词seo优化公司
  • 做网站去哪里找网页模板
  • 福州官网建站厂一站传媒seo优化
  • 做网站 用 显示器做神马seo快速排名软件
  • 模板网站建设哪家专业网店交易平台
  • wordpress 美丽说搜索引擎优化seo名词解释
  • 网站的建设与管理注册域名
  • 财务公司网站开发源码google seo
  • 网页设计图片外链深圳排名seo
  • 官方网站面膜做微商佛山网站建设正规公司
  • 做公司网站的时间交换友情链接的平台有哪些
  • 网站建设 开发人一丶一一人一一链接网
  • 给艺术家做网站的工作seo优化网站查询
  • 怎么做下载网站吗网络推广app是违法的吗