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

网站建设实现的目标发外链平台

网站建设实现的目标,发外链平台,化妆品可做的团购网站有哪些,广东省建设厅单链表一.概念二.一些类型的创建三.尾插四.头插五.头删尾删六.打印链表七.单链表查找,任意位置插入,任意位置删除八.源代码一.概念 该篇链表博客是按照工程项目的格式来记录的,与平常的算法链表有些许不同,注意区分。 二.一些类型的创建 三.尾…

单链表

  • 一.概念
    • 二.一些类型的创建
    • 三.尾插
    • 四.头插
  • 五.头删尾删
  • 六.打印链表
  • 七.单链表查找,任意位置插入,任意位置删除
  • 八.源代码

一.概念

该篇链表博客是按照工程项目的格式来记录的,与平常的算法链表有些许不同,注意区分。

在这里插入图片描述

在这里插入图片描述

二.一些类型的创建

在这里插入图片描述

在这里插入图片描述

三.尾插

因为需要凭空插入一个数,所以我们肯定需要新开辟一个节点(newnode)来存放需要插入的数。之后我们需要找到原链表的尾部再将其插入就可以了。

这里尤其需要注意的一个点是:我们增加操作如果链表为空时需要改变头节点(phead),因为phead是一级指针,所以我们传参需要二级指针。

Test.c

在这里插入图片描述

SList.h
在这里插入图片描述

SList.c

在这里插入图片描述

四.头插

因为头插必定会改变头节点所以同样需要使用二级指针。同时让插入的节点变为头节点。

Test.c

在这里插入图片描述

SLIst.h

在这里插入图片描述

SList.c

在这里插入图片描述

五.头删尾删

SList.h

在这里插入图片描述

SList.c

尾删
在这里插入图片描述

头删

在这里插入图片描述

六.打印链表

SList.h

在这里插入图片描述

SList.c

在这里插入图片描述

七.单链表查找,任意位置插入,任意位置删除

SList.h

在这里插入图片描述

SLiist.c

查找

在这里插入图片描述

在pos位置前面插入

在这里插入图片描述

将pos位置删除

在这里插入图片描述

八.源代码

test.c

#include"SList.h"void TestList()
{SListNode* phead = NULL;//测试部分}int main()
{TestList();return 0;
}

SList.h

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>#define SLTDataType inttypedef struct {SLTDataType data;//这里将int类型替换成链表类型以符合工程书写习惯struct SListNode* next;
}SListNode;void SLPushBack(SListNode** phead,SLTDataType x);//尾插void SLPushFront(SListNode** phead, SLTDataType x);//头插void SLPopBack(SListNode** phead);//尾删void SLPopFront(SListNode** phead);//头删void SLPrint(SListNode* phead);//打印//查找
SListNode* SListFind(SListNode* phead, SLTDataType x);
void SListInsert(SListNode**pphead,SListNode* pos, SLTDataType x);//在pos位置前位置插入(注意pos是节点的指针)
void SListErase(SListNode**pphead,SListNode* pos);//删除pos位置

SList.c

#include"SList.h"void SLPushBack(SListNode** pphead, SLTDataType x)//尾插
{SListNode* newnode = (SListNode*)malloc(sizeof(SListNode));//开辟新节点来存放插入的数if (newnode == NULL)//如果开辟失败则返回错误{perror("malloc fail");return;}newnode->data = x;newnode->next = NULL;//初始化新节点if (*pphead == NULL)//注意*pphead就是phead{*pphead = newnode;}//如果链表里没有数直接插入数else{SListNode* tail = *pphead;while (tail->next != NULL){tail = tail->next;}//找到原链表尾部tail->next = newnode;//插入新节点}}void SLPushFront(SListNode** pphead, SLTDataType x)//头插
{SListNode* newnode = (SListNode*)malloc(sizeof(SListNode));//开辟一个新节点if (newnode == NULL)//判断是否开辟成功{perror("malloc fail");}newnode->data = x;newnode->next = *pphead;//让新的节点指向原本的头节点*pphead = newnode;//让新节点成为头节点
}void SLPopBack(SListNode** pphead)//尾删
{assert(*pphead!=NULL);//断言链表不能为空//找尾if ((*pphead)->next == NULL)//如果链表只有一个数{free(*pphead);//直接释放头节点*pphead = NULL;}else{SListNode* tail = *pphead;SListNode* prev = NULL;while (tail->next != NULL){prev = tail;tail = tail->next;}free(tail);//直接删掉tail节点tail = NULL;prev->next = NULL;}}void SLPopFront(SListNode** pphead)//头删
{assert(*pphead != NULL);//链表不能为空SListNode* first = *pphead;*pphead = first->next;//直接让头节点变为第二个数free(first);first = NULL;
}void SLPrint(SListNode* phead)//打印
{SListNode* start = phead;while (start != NULL){printf("%d ", start->data);start = start->next;}printf("NULL");
}SListNode* SListFind(SListNode* phead, SLTDataType x)//查找
{SListNode* cur = phead;while (cur->data != x&&cur!=NULL){cur = cur->next;}return cur;
}void SListInsert(SListNode**pphead,SListNode* pos, SLTDataType x)//任意位置插入
{if (pos == *pphead){SLPushFront(pphead,x);//头插}else{SListNode* pre = *pphead;while (pre->next != pos)//找到pos前面的位置{pre = pre->next;}SListNode* newnode = (SListNode*)malloc(sizeof(SListNode));//开辟新节点newnode->data = x;newnode->next = pos;//初始化新节点pre->next = newnode;//将pos前一个位置连接到新节点上}
}void SListErase(SListNode** pphead, SListNode* pos)//任意位置删除
{if (pos == *pphead){SLPopFront(pphead);//头删 }else{SListNode* pre = *pphead;while (pre->next != pos)//找到pos前面的位置{pre = pre->next;}pre->next = pos->next;//删除free(pos);}
}
http://www.hkea.cn/news/9980/

相关文章:

  • 网站前台开发教程今日热搜前十名
  • 安庆做网站企业大片ppt免费下载安装
  • 企业电子商务网站建设和一般公司怎么做网站推广
  • 唯美谷-网站建设谷歌搜索引擎怎么才能用
  • 网站新闻专题怎么做万网官网域名注册
  • 有没有免费的微网站seo刷关键词排名工具
  • 做新闻微网站站长之家ppt模板
  • 童程童美编程地址在哪里优化公司结构
  • 淘宝客网站免费做网上国网推广
  • 建站公司上海网站开发制作培训学校
  • 郑州网站设计网站网站建设制作费用
  • 做的网站错位怎么办网站查找工具
  • 做全景的h5网站刷赞业务推广网站
  • 怎样做代刷网站长武汉网站设计公司
  • 电子商务网站建设总结一台电脑赚钱的门路
  • 网站怎么防采集今天刚刚发生的重大新闻
  • 营销型企业网站优化的作用seo关键词推广多少钱
  • 在家跟狗做网站视频sem和seo是什么职业岗位
  • jsp借书网站开发东莞网站公司哪家好
  • 济南做网站建设的公司电话哈尔滨seo关键词排名
  • 用.net做视频网站的案例seo域名综合查询
  • vltur wordpress爱站网seo
  • 计划书网站推广的目录怎么做百家号关键词seo优化
  • wordpress备案号不显示seo外包资讯
  • 用asp.net做的 购物网站视频今天重大新闻头条新闻军事
  • 河北网站优化建设长沙靠谱seo优化费用
  • 设计外贸商城网站建设网店营销策划方案
  • excel vba可以做网站网络营销和推广的方法
  • php网站外包最新的疫情最新消息
  • qq空间如何做微网站百度推广