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

中国关于影院建设的网站网站建设公司简介

中国关于影院建设的网站,网站建设公司简介,游戏公司,怎样做网站流量目录 1.单链表 1.1 实现单链表 1.1.1 文件创建 1.1.2 链表功能了解 1.1.3 链表的结点 1.1.4 链表的函数声明 1.1.5 链表功能的实现 链表是一种链式结构,物理结构不连续,逻辑结构是连续的,在计算机中链表的实际存储是按照一个结点内存放…

目录

1.单链表

1.1 实现单链表

1.1.1 文件创建

1.1.2 链表功能了解

1.1.3 链表的结点

1.1.4 链表的函数声明

1.1.5 链表功能的实现


链表是一种链式结构,物理结构不连续,逻辑结构是连续的,在计算机中链表的实际存储是按照一个结点内存放下一个结点的地址来实现链接的

1.单链表

单链表也称不带头无循环单向链表

链表的概念相信大家都了解,说的再多不如自己实现一个链表来的理解深入

我们现在开始手搓一个单链表出来

1.1 实现单链表

1.1.1 文件创建

首先我们创建一个头文件slist.h,用来包含头文件和函数的声明

再创建一个源文件slist.c,用来函数的实现

最后创建一个main.c来测试我们的单链表功能

这样我们的代码耦合性会更高,以后哪里需要单链表去完成什么功能直接使用当前的文件就可以了

好了!现在我们可以开始愉快的写代码了

1.1.2 链表功能了解

  1. 单链表的申请元素
  2. 单链表的初始化
  3. 单链表的头部插入删除
  4. 单链表的尾部插入删除
  5. 单链表的pos位置之后的插入删除
  6. 单链表的打印元素

好了了解这些功能建议不要立即去抄代码,而是自己带着功能去自己试着实现,这样理解的更深刻

1.1.3 链表的结点

单链表只保存下一个结点的地址,所以结点是很简单的

#pragma once
#include<stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef int SListNodeDataType; //将需要存入链表的元素类型typedef,代码耦合性变低
typedef struct SListNode	//将链表结点类型typedef为Slist
{SListNodeDataType _val;	//链表保存的数据struct SListNode* _next;//链表的下一个结点的地址
}SList;

1.1.4 链表的函数声明

SList* CreateSLNode(SListNodeDataType val);	//创建新结点
void SListPushBack(SList** st, SListNodeDataType val);//尾插
void SListPopBack(SList** st);//尾删
void SListPushFront(SList** st, SListNodeDataType val);//头插
void SListPopFront(SList** st);//头删
void SListInsert(SList** pos, SListNodeDataType val);//pos位置之后的插入
void SListErase(SList** pos);//pos位置之后的删除
void SListPrint(SList* st);//打印链表元素

这些都是存放在slist.h中的

将函数的实现放在slist.c中

1.1.5 链表功能的实现

#include"slist.h"SList* CreateSLNode(SListNodeDataType val)
{SList* newNode = (SList*)malloc(sizeof(SList));assert(newNode);newNode->_next = NULL;newNode->_val = val;return newNode;
}
void SListPushBack(SList** st, SListNodeDataType val)
{if (*st == NULL){*st = CreateSLNode(val);return;}SList* cur = *st;while (cur->_next){cur = cur->_next;}cur->_next = CreateSLNode(val);
}
void SListPopBack(SList** st)
{assert(*st);SList* cur = *st;SList* prev = *st;while (cur->_next){prev = cur;cur = cur->_next;}free(cur);prev->_next = NULL;
}
void SListPushFront(SList** st, SListNodeDataType val)
{SList* newNode = CreateSLNode(val);newNode->_next = *st;*st = newNode;
}
void SListPopFront(SList** st)
{assert(*st);SList* cur = *st;*st = cur->_next;free(cur);
}
void SListInsert(SList** pos, SListNodeDataType val)
{assert(*pos);SList* newNode = CreateSLNode(val);SList* cur = *pos;newNode->_next = cur->_next;cur->_next = newNode;}
void SListErase(SList** pos)
{assert(*pos);SList* cur = *pos;SList* tmp = cur->_next;if (cur->_next){cur->_next = cur->_next->_next;}free(tmp);
}
void SListPrint(SList* st)
{SList* cur = st;while (cur){printf("%d ", cur->_val);cur = cur->_next;}printf("\n");}

http://www.dtcms.com/wzjs/604433.html

相关文章:

  • 网站颜色电商运营主要工作内容
  • 仪征建设银行官方网站莱州网监局
  • gta房产网站建设中wordpress常用模板下载
  • 网站开发公司前台模板企业服务网
  • 细谈电商网站外链建设的策略品牌网络营销
  • 公司网站建设合同交印花税吗ios开发入门
  • 石家庄做网站公司汉狮价格小学学校网站模板
  • 网站设计费用多少淘宝关键词挖掘工具
  • 北京知名网站建设公司排名上海网站关键词优化服务
  • 网站建设开发上线流程大数据营销策略有哪些
  • 广告网站模板下载网站建设开发价格怎么算
  • 做网站 怎么发布ip代理网址
  • 株洲企业网站建设工作做电影网站如何盈利
  • 推进网站集约化建设 网络安全广州网络推广公司招聘
  • 网站推广排名有什么技巧杭州搜索引擎推广排名技术
  • linux建设门户网站网络营销第三版课本
  • 如何做网站拉动条做淘客网站 名字
  • 可以做样机图的网站轻定制网站建设
  • 做冷库用什么网站发帖子好部署php网站
  • 网站被入侵展台设计展会展位设计
  • 做网站没有做退钱设计公司网页欣赏
  • 做网站实现图片自动压缩深圳城市规划设计研究官方网站
  • 个人备案网站名海外推广网站
  • 基于php网站开发设计网站建设预算表格
  • 用python开发网站开发技术wordpress加群插件下载
  • 配资网站建设多少钱wordpress博客示例
  • 苏州网站建设狮山路做移动网站设计
  • 哪个手机网站 有app怎么开网页游戏平台
  • 商务网站开发流程有哪三个阶段有哪些专门做展会创意的网站
  • 企业网站建设常见问题网上智慧团建登录入口