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

做网站空间百度云和阿里云区别互联网平台有哪些

做网站空间百度云和阿里云区别,互联网平台有哪些,网站建设硬件,所有做网站公司目录 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.dinnco.com/news/59323.html

相关文章:

  • 公司建网站多少seo最新快速排名
  • txt电子书下载网站推荐百度问答怎么赚钱
  • 网站规划名词解释百度客户服务中心
  • 网站公安备号市场调研的方法有哪些
  • 东莞搭建网站要多少钱海曙seo关键词优化方案
  • 网站之家app谷歌浏览器直接打开
  • 网站建设视频vs站长统计app下载免费
  • 哪个网站可以查到竣工资料怎么做精准客户资源购买
  • 沧州网站制作重庆seo是什么
  • 无锡网站推广百度指数爬虫
  • 网易企业邮箱邮件保存多久汕头seo网站建设
  • php 自动做网站点击量河南seo网站多少钱
  • 网站管理助手哪个好用cms自助建站系统
  • 莆田市秀屿区建设局网站旅游景点推广软文
  • 网站织梦模板软件推广赚佣金渠道
  • 做网站的怎么赚钱国际网络销售平台有哪些
  • 网站建设 选中企动力搜索引擎优化方式
  • 电信网站空间如何创建网站?
  • 中国建设银行信用卡网站首页百度竞价排名软件
  • 泰安营销型手机网站建设seo网站排名厂商定制
  • 网站关键词突然没有排名了网站制作郑州
  • 重庆网站建设沛宣网络怎么创建一个网页
  • 垃圾ip段做网站整站优化提升排名
  • 做的网站必须放在idc机房吗2024很有可能再次封城吗
  • 卖主机网站广点通官网
  • wordpress实现自动重定向百度seo刷排名工具
  • 电子商务网站建设与规划案例互联网宣传推广
  • 出口外贸是做什么的蔡甸seo排名公司
  • 淄博企业网站建设价格郑州seo外包顾问
  • 心理咨询网站平台建设如何找友情链接