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

新校区建设网站管理规定pc网站向手机站传递权重

新校区建设网站管理规定,pc网站向手机站传递权重,做网站会提供源代码吗,3800给做网站今天懒洋洋学习了关于基础数据结构有关单链表的相关操作#xff0c;懒洋洋来这温习一下。一:单链表的定义链表定义#xff1a;用链式存储的线性表统称为链表#xff0c;即逻辑结构上连续#xff0c;物理结构上不连续。链表分类#xff1a;单链表、双链表、循环链表、静态链… 今天懒洋洋学习了关于基础数据结构有关单链表的相关操作懒洋洋来这温习一下。一:单链表的定义链表定义用链式存储的线性表统称为链表即逻辑结构上连续物理结构上不连续。链表分类单链表、双链表、循环链表、静态链表二:单链表的实现 1:定义结构体typedef int SLQDataType;//利用typedef将intSLQDataType struct SListNode {SLQDataType data;//定义节点的数据域struct SListNode * next;//定义节点的指针域 }; //重命名结构体 typedef struct SListNode SLNode;2:初始化单链表SLNode * phead NULL;//即直接将头指针置为空。3:后插法插入元素 划重点:由于我们在定义的变量即phead为一级指针此时我们要对单链表里面的元素进行改变即对单链表做出更改我们要传入一级指针的地址再利用二级指针进行接受。 SListPushBack(phead, 2);SListPushBack(phead, 3);SListPushBack(phead, 4); 后插法插入元素代码实现:(在插入元素的时候要进行分类当单链表里面没有元素的时候我们将为要插入的元素利用malloc库对新的元素进行分配空间再直接将定义的newNode赋值给*pphead)//BuySListNode函数实现 SLNode* BuySListNode(SLQDataType x) {//申请空间SLNode* newNode (SLNode*)malloc(sizeof(SLNode));if (newNode NULL){printf(申请节点失败\n);return;}newNode-data x;newNode-next NULL;return newNode; }void SListPushBack(SLNode**pphead, SLQDataType x) {if (*pphead NULL){*pphead BuySListNode(x);}else{//定义一个结构体指针指向头结点的指针判断tail-next是否为NULL要是为NULL的话//将新的结点的地址即赋值给tail-next.再将newNode-nextNULLSLNode* tail *pphead;while (tail-next ! NULL){tail tail-next;}tail-next BuySListNode(x);} }4:后删法删除元素 1:当单链表里面没有元素的时候直接结束函数 2:当单链表里面只有一个结点的时候需要判断if(*pphead-nextNULL)再释放掉空间 3:当有一个结点以上时利用tail-nextNULL找到末尾的节点再利用一个指针(2)指向tail的前一个结点再将前一个结点的nextNULL,释放掉tail的空间)void SListPopBack(SLNode** pphead) {//空if (*pphead NULL){return;}//一个结点else if ((*pphead)-next NULL){free(*pphead);}//一个以上结点else{//用两个指针进行标记一个标记下一个是否为NULL//另一个指针标记前一个指针的前一个位置SLNode* tail *pphead;SLNode* pre NULL;while (tail-next ! NULL){pre tail;tail tail-next;}free(tail);tail NULL;pre-next NULL;} }5:头插法插入元素 我们创建新的结点将newNode的next指向头结点再将newNode赋值给*phead; void SListPushFront(SLNode**pphead, SLQDataType x) {SLNode* newNode BuySListNode(x);newNode-next *pphead;*pphead newNode; }6:头删法删除元素 1:当单链表里面没有元素的时候直接结束函数 2:当单链表里面只有一个结点的时候需要判断if(*pphead-nextNULL)再释放掉空间 3:当有一个结点以上时创建临时的指针保存头指针所指向的下个结点的地址即next(*phead)-next释放掉头指针的空间和地址再将创建的临时的指针变成头指针即*pheadnext;void SListPopFront(SLNode** pphead) {if (*pphead NULL){return;}else if ((*pphead)-next NULL){free(*pphead);*pphead NULL;}else{//先找到下一个结点用指针保存起来再释放掉前面SLNode* next (*pphead)-next;free(*pphead);*pphead next;} }7:查找单链表元素 思路:循环遍历SLNode* SListFind(SLNode* phead, SLQDataType x) {{SLNode* cur phead;while (cur ! NULL){if (cur-data x){return cur;}cur cur-next;}return NULL;} }8:随机位置插入和删除void SListInsertAfter(SLNode* ps, SLQDataType x) {BuySListNode(x)-next ps-next;ps-next BuySListNode(x); } void SListEraseAfter(SLNode* ps) {SLNode* next ps-next;ps-next next-next;free(ps); } 9:打印单链表的各个元素void PrintSList(SLNode* phead) {SLNode* cur phead;while (cur ! NULL){printf(%d- , cur-data);cur cur-next;}printf(NULL); }10:主函数及部分功能实现#include SList.h void test() {//将头指针置为空SLNode * phead NULL;//后插法插入元素SListPushBack(phead, 2);SListPushBack(phead, 3);SListPushBack(phead, 4);//后删法删元素SListPopBack(phead);//头插法增加元素SListPushFront(phead, 5);//头删法删除元素SListPopFront(phead);PrintSList(phead); }int main() {test(); }今天懒洋洋的学习之路就到这了感谢羊村的各位捧场!!!
http://www.hkea.cn/news/14555498/

相关文章:

  • 网页建设网站代码wordpress 图片加速
  • wordpress自动标签内联太原百度seo优化推广
  • 校园文化建设网站素材小荷特卖的网站谁做的
  • 企业建设网站的过程网站建设明细报价单
  • 网站首页全屏怎么做做移动网站
  • 肇庆企业做网站柳江企业网站建设公司
  • 做网站必须用域名吗做数学网站
  • 青州网站建设公司包装盒网站模板下载
  • wordpress 仿站 菜单wordpress移动支付免费
  • 上海全国网站建设wordpress主题怎么该轮播
  • 东莞技术好的网站建设推广个人网站建设的论文
  • 做venn图的网站wordpress商店会员管理
  • 行业门户网站开发广告设计公司服务方案
  • wordpress 数据库丢失seo网站推广有哪些
  • 深圳中心网站建设wordpress 好 免费主题
  • 信阳网站开发建设公司网站建设电话销售话术技巧
  • html怎么做网站设计定制型网站建设合同范本
  • 织梦网站模板免费下载wordpress该域名
  • 为什么网页制作图片显示不出来网站seo综合查询
  • 网站做照片上海本土互联网公司
  • 东南亚cod建站工具洛阳专注网站建设的公司
  • 企业网站建设深圳网站建设的利益
  • 网站建设的领军 18年网站建设公众号小程序是什么
  • 宁波网站建设优化诊断做展馆好的设计网站
  • 网站建设方案及预算桂林网站制作哪家公司好
  • 新老网站做301跳转淘宝网页版登录入口官方
  • 徐州做网站企业域名地址查询
  • 苍溪县建设局网站wordpress不能启动怎么解决
  • 西安商城网站建设咪豆新洲网站建设
  • 网站搭建制作公司电商网站建设代码大全