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

第一个做装修的网站注册域名的网站有哪些

第一个做装修的网站,注册域名的网站有哪些,自媒体怎么做,高州网站建设公司01. 单链表简介 在数据结构中,单链表的实现可以分为 带头结点 和 不带头结点 两种方式,这里我们讨论第二种方式。 头结点:链表第一个节点不存实际数据,仅作为辅助节点指向首元节点(第一个数据节点)。头指…

01. 单链表简介

在数据结构中,单链表的实现可以分为 带头结点不带头结点 两种方式,这里我们讨论第二种方式。

  • 头结点:链表第一个节点不存实际数据,仅作为辅助节点指向首元节点(第一个数据节点)。
  • 头指针:永远指向头结点(非空链表头结点始终存在)。

在这里插入图片描述

单链表核心数据结构及操作声明:

typedef struct Node {int data;         // 节点数据域struct Node* next;// 节点指针域
} Node;
// 初始化带头结点的空链表
Node* InitList();
// 头插法建立链表
void HeadInsert(Node* list, int data);
// 尾插法建立链表
void TailInsert(Node* list, int data);
// 删除指定数据节点
void Delete(Node* list, int data);
// 遍历打印链表
void PrintList(Node* list);
//创建单链表
Node* list = InitList();
TailInsert(list,1);//如尾插
HeadInsert(list,2);//如头插

02.链表初始化

创建一个头结点,内部的data标明有多少个节点的计数,头结点的指针域置为空。

Node* InitList() {Node* list = (Node*)malloc(sizeof(Node));list->data = 0;list->next = NULL;return list;
}

在这里插入图片描述


03.头插法与尾插法

头插法简单,只需要在头结点后面插入即可,尾插法较为复杂,需要保存头结点指针,当list->next的节点不为空的时候,会继续往下面执行while循环,跳出循环的时候标明已经指向最后一个结点,随后即可插入。

void tailInsert(Node* list, int data) {Node* head = list;//此处会改变头结点,所以临时保存一下Node* node = (Node*)malloc(sizeof(Node));node->data = data;node -> next = NULL;list = list->next;//将指针移动到头结点,头结点也移动了!!!while (list->next) {//当list的下一个节点不为空的时候,会继续往下面执行list = list->next;//list继续往下面执行}list->next = node;head->data++;
}

在这里插入图片描述

void headInsert(Node* list, int data) {Node* node = (Node*)malloc(sizeof(Node));node->data = data;node->next = list->next;list->next = node;list->data++;
}

在这里插入图片描述


04.链表的删除

链表的删除需要precurrent两个指针配合,通过比对其中的data里面的数据进行判断,不符合时,两个指针都向后移,知道匹配到对应数据时停下删除该结点。

void Delete(Node* list, int data) {Node* pre = list;Node* current = list->next;while (current){if (current->data = data) {pre->next = current->next;free(current);break;/无重复退出}pre = current;current = current->next;}list->data--;
}

在这里插入图片描述


05.链表的输出

依次循环输出即可。

void printlist(Node* list) {list = list->next;//指向头结点while (list){//list不为空就继续执行printf("%d ", list->data);list = list->next;//list往下走}printf("\n");
}

在这里插入图片描述


完整代码:

#include<stdio.h>
#include<stdlib.h>
typedef int status;
typedef struct Node{int data;struct Node* next;
}Node;
Node* InitList() {Node* list = (Node*)malloc(sizeof(Node));list->data = 0;list->next = NULL;return list;
}
void headInsert(Node* list, int data) {Node* node = (Node*)malloc(sizeof(Node));node->data = data;node->next = list->next;list->next = node;list->data++;
}
void tailInsert(Node* list, int data) {Node* head = list;//此处会改变头结点,所以临时保存一下Node* node = (Node*)malloc(sizeof(Node));node->data = data;node -> next = NULL;list = list->next;//将指针移动到头结点,头结点也移动了!!!while (list->next) {//当list的下一个节点不为空的时候,会继续往下面执行list = list->next;//list继续往下面执行}list->next = node;head->data++;
}
void Delete(Node* list, int data) {Node* pre = list;Node* current = list->next;while (current){if (current->data = data) {pre->next = current->next;free(current);break;//无重复退出}pre = current;current = current->next;}list->data--;
}
void printlist(Node* list) {list = list->next;//指向头结点while (list){//list不为空就继续执行printf("%d ", list->data);list = list->next;//list往下走}printf("\n");
}
int main() {Node* list = InitList();headInsert(list,1);headInsert(list, 2);tailInsert(list, 21);tailInsert(list, 32);printlist(list);system("pause");return 0;
}

文章转载自:

http://uGC8oNoG.hjrjy.cn
http://GYTrChd0.hjrjy.cn
http://IsiQySbB.hjrjy.cn
http://OsQgPKlH.hjrjy.cn
http://p4e6qqBa.hjrjy.cn
http://iDe2oqwK.hjrjy.cn
http://Z4n5vlLx.hjrjy.cn
http://uKHLUE4r.hjrjy.cn
http://JNPapqTk.hjrjy.cn
http://nsxZJHDY.hjrjy.cn
http://oaJdereL.hjrjy.cn
http://PknQLtBf.hjrjy.cn
http://YlKVNi1A.hjrjy.cn
http://IVNuy2P8.hjrjy.cn
http://RhUDmmsq.hjrjy.cn
http://cvREyFWf.hjrjy.cn
http://Y4o1Yczf.hjrjy.cn
http://75O9u3HM.hjrjy.cn
http://Xda7aO29.hjrjy.cn
http://GwLZ5Qoe.hjrjy.cn
http://Lcxi9HSs.hjrjy.cn
http://UvTTX5nH.hjrjy.cn
http://WZHlY568.hjrjy.cn
http://TrP9FGpP.hjrjy.cn
http://BgmCshkY.hjrjy.cn
http://3No0COaQ.hjrjy.cn
http://SkoqDAPw.hjrjy.cn
http://vjKtoTtw.hjrjy.cn
http://Tom8SNG3.hjrjy.cn
http://K26mrRf8.hjrjy.cn
http://www.dtcms.com/wzjs/756449.html

相关文章:

  • 做一个网站人员做网站三剑客
  • 自然堂官方网站建设新北仑网站怎么做的
  • 一个网站的建设流程有哪些安徽网架公司
  • 投资网站网站源码修改wordpress主体字体
  • 哪里帮做企业网站wordpress数据库字典
  • 基于html5的移动端网站开发wordpress安装404
  • 北京做网站开发公司电话网站建设销售招聘
  • 如何做一个自己的网页seo在线优化网站
  • 郑州网站南京网站建设工程公司管理软件
  • 怎么做关于狗的网站做视频网站的流程
  • 中国建设银行公司网站官网返利导购网站建设需求文档
  • 外贸网站建设公司价位wordpress 好看的主题
  • 仿快递网站源码wordpress源码下载模板
  • 网站为什么做站外推广黄岐网站建设
  • 深圳网站制作费用网络营销推广方案案例
  • 商业网站的域名后缀是什么石家庄网站建设seo优化营销
  • 文本文档做网站制作ppt的基本做法
  • 北京企业建网站定制价格wordpress 优化设置
  • 网站开发需要学什么网页制作教程
  • 商丘网站网站建设wordpress 产生大量首页
  • 分析对手网站河南做网站哪个平台好
  • 大兴专业网站建设公司免费电视剧大全网站
  • 网站推广渠道的类型怎么在国税网站上做实名认证吗
  • 建设工程规划许可证网站多语言网站多域名推广
  • 旅游网站在提高用户体验方面应做哪些工作公众号开发是什么
  • 购物网站是多少天津推广平台
  • 做智能家居网站怎么注册公司商标
  • ps外包网站手机html5网站开发
  • 做宣传图片的网站做各企业网站大概多少钱
  • 企业网站一般要素微信开发小程序教程