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

龙华哪有做网站设计网络运营主要做什么工作

龙华哪有做网站设计,网络运营主要做什么工作,做访问的公司网站,企业微信公众号怎么创建[数据结构习题]栈——中心对称链 👉知识点导航💎:【数据结构】栈和队列 👉[王道数据结构]习题导航💎: p a g e 70.4 page70.4 page70.4 本节为栈和链表综合练习题 题目描述: 🎇思路…

[数据结构习题]栈——中心对称链



👉知识点导航💎:【数据结构】栈和队列

👉[王道数据结构]习题导航💎: p a g e 70.4 page70.4 page70.4

本节为栈和链表综合练习题

在这里插入图片描述



题目描述:

在这里插入图片描述



🎇思路:前段进栈

🔱思路分析:

要判断一个带头结点的单链表是否中心对称,即链表的前半部分和后半部分互为逆序关系,因此,由栈的先进后出特性可以实现逆序


step:

因为涉及链表和栈,我们需要分别实现相关的操作:

1. 单链表实现

①定义结构体:

typedef struct LNode { //定义一个单链表char data;struct LNode* next;
}LNode,*LinkList;

②初始化:

void InitList(LinkList& L, int n) {L = (LNode*)malloc(sizeof(LNode)); //头结点LNode* p = L;char x;for (int i = 0; i < n; i++) {cin >> x;LNode* s = (LNode*)malloc(sizeof(LNode));s->data = x;p->next = s;p = s;}p->next = NULL;
}

2. 顺序栈实现

①定义结构体

我们选择用顺序栈来实现

其中 d a t a data data 为字符串数组, t o p top top 为栈顶指针

#define Maxsize 50typedef struct SqStack { //定义一个栈char data[Maxsize];int top;
}SqStack;

②初始化&判空

由于 S . t o p S.top S.top 指向的是栈顶元素,而当栈空时: S . t o p = − 1 S.top=-1 S.top=1,以此来实现初始化与判空

void InitStack(SqStack& S) {S.top = -1; //初始化栈顶
}bool Empty(SqStack& S) {if (S.top == -1)return true;return false;
}

3. 中心对称链的判断

做完了前期准备之后,我们就要判断链是否中心对称了

算法思想:使用栈来判断链表中的数据元素是否中心对称,首先,让单链表的前半段元素放入栈中,在处理链表的后半段元素时,每访问链表的一个元素,就让栈弹出栈顶元素与之进行比较,若相等,则继续判断后续元素,直到链表后半段的元素全部比较完成,此时,若栈为空,则为中心对称链;否则,不成立


图解算法:
在这里插入图片描述

①前段元素进栈

由于已知链表的长度为 n n n,因此,只需要遍历 ⌊ n 2 ⌋ ⌊\frac{n}{2}⌋ 2n 次即遍历完成前半段所有元素

指针 p p p 最初指向首结点,每访问到一个链表结点,便将其压入栈中:S.data[++S.top]=p->data

代码实现:

    LNode* p = L->next;for (int i = 0; i < n / 2; i++) {S.data[++S.top] = p->data; //压入栈p = p->next;}

结束时,如果链表长度 n n n 为偶数,则指针 p p p 直接指向后半段的首结点;若链表长度为奇数,则指向中心结点,此时需要让:p=p->next

if (n % 2 != 0) //如果n为奇数p = p->next; //让p指向后半段首位置

②前段元素出栈

当前状态为:

在这里插入图片描述

不断比较 S.data[S.top]p->next 直到 p = = N U L L p==NULL p==NULL,如果此时栈为空且指针 p p p指向 N U L L NULL NULL,则说明中心对称

防止中间存在元素不相等而提前退出


代码实现:

    while (p != NULL && p->data == S.data[S.top]) {S.top-=1;p = p->next;}if (Empty(S) && p==NULL)return true;elsereturn false;

完整代码实现;

#include<iostream>
#define Maxsize 50
using namespace std;typedef struct LNode { //定义一个单链表char data;struct LNode* next;
}LNode,*LinkList;void InitList(LinkList& L, int n) {L = (LNode*)malloc(sizeof(LNode)); //头结点LNode* p = L;char x;for (int i = 0; i < n; i++) {cin >> x;LNode* s = (LNode*)malloc(sizeof(LNode));s->data = x;p->next = s;p = s;}p->next = NULL;
}typedef struct SqStack { //定义一个栈char data[Maxsize];int top;
}SqStack;void InitStack(SqStack& S) {S.top = -1; //初始化栈顶
}bool Empty(SqStack& S) {if (S.top == -1)return true;return false;
}//判断链表是否中心对称
bool res(LinkList &L, SqStack &S, int n) {LNode* p = L->next;for (int i = 0; i < n / 2; i++) {S.data[++S.top] = p->data; //压入栈p = p->next;}if (n % 2 != 0) //如果n为奇数p = p->next; //让p指向后半段首位置while (p != NULL && p->data == S.data[S.top]) {S.top-=1;p = p->next;}if (Empty(S) && p==NULL)return true;elsereturn false;
}int main() {// 1.定义一个单链表LinkList L;int n;cout << "请输入链表的长度:" << endl;cin >> n;cout << "请输入单链表中的字符:" << endl;InitList(L,n);// 2.定义一个栈SqStack S;InitStack(S);// 3.中心对称字符串cout << "单链表是否中心对称(0/1):" << res(L, S, n) << endl;system("pause");return 0;
}

输出结果:

在这里插入图片描述



🎇这是一道栈和链表的综合练习题,不是很难,但有利于知识点的回顾~🎇

如有错误,欢迎指正~!

在这里插入图片描述


文章转载自:
http://chow.rwzc.cn
http://echograph.rwzc.cn
http://peacebreaker.rwzc.cn
http://jollity.rwzc.cn
http://suffolk.rwzc.cn
http://antiallergenic.rwzc.cn
http://babyish.rwzc.cn
http://brage.rwzc.cn
http://silverbeater.rwzc.cn
http://falsism.rwzc.cn
http://curmudgeon.rwzc.cn
http://bearberry.rwzc.cn
http://bickiron.rwzc.cn
http://audiogram.rwzc.cn
http://spherosome.rwzc.cn
http://alcides.rwzc.cn
http://underpeopled.rwzc.cn
http://demiurgic.rwzc.cn
http://muroran.rwzc.cn
http://astacin.rwzc.cn
http://frontlessly.rwzc.cn
http://hierodulic.rwzc.cn
http://barretry.rwzc.cn
http://senegal.rwzc.cn
http://etc.rwzc.cn
http://brown.rwzc.cn
http://cremationist.rwzc.cn
http://pignus.rwzc.cn
http://obsidionary.rwzc.cn
http://centavo.rwzc.cn
http://hurst.rwzc.cn
http://graeae.rwzc.cn
http://doldrums.rwzc.cn
http://astasia.rwzc.cn
http://knowledgeble.rwzc.cn
http://cholane.rwzc.cn
http://tellable.rwzc.cn
http://grogram.rwzc.cn
http://anamorphism.rwzc.cn
http://damselfish.rwzc.cn
http://kilampere.rwzc.cn
http://sandiness.rwzc.cn
http://destitution.rwzc.cn
http://perpendicularly.rwzc.cn
http://debus.rwzc.cn
http://lubritorium.rwzc.cn
http://underexpose.rwzc.cn
http://taxite.rwzc.cn
http://chromic.rwzc.cn
http://punctiform.rwzc.cn
http://inequilateral.rwzc.cn
http://mediatress.rwzc.cn
http://plasmasol.rwzc.cn
http://almuce.rwzc.cn
http://aiee.rwzc.cn
http://policy.rwzc.cn
http://riverain.rwzc.cn
http://teratology.rwzc.cn
http://overboot.rwzc.cn
http://durum.rwzc.cn
http://luteotrophic.rwzc.cn
http://vesuvio.rwzc.cn
http://injectant.rwzc.cn
http://shnaps.rwzc.cn
http://ceiling.rwzc.cn
http://logistics.rwzc.cn
http://heterotaxy.rwzc.cn
http://catchwater.rwzc.cn
http://kill.rwzc.cn
http://fireworm.rwzc.cn
http://bellerophon.rwzc.cn
http://lewisson.rwzc.cn
http://spirituelle.rwzc.cn
http://stretta.rwzc.cn
http://signification.rwzc.cn
http://farrier.rwzc.cn
http://oxtail.rwzc.cn
http://gnatcatcher.rwzc.cn
http://peloton.rwzc.cn
http://tantalising.rwzc.cn
http://mucrones.rwzc.cn
http://anticatalyst.rwzc.cn
http://jampan.rwzc.cn
http://betelgeuse.rwzc.cn
http://huhehot.rwzc.cn
http://traditionarily.rwzc.cn
http://antiepileptic.rwzc.cn
http://arthrodial.rwzc.cn
http://ahead.rwzc.cn
http://cavum.rwzc.cn
http://prosodical.rwzc.cn
http://guadiana.rwzc.cn
http://brython.rwzc.cn
http://larine.rwzc.cn
http://uprate.rwzc.cn
http://decolor.rwzc.cn
http://mortarman.rwzc.cn
http://electroosmosis.rwzc.cn
http://ichneumon.rwzc.cn
http://roofline.rwzc.cn
http://www.hrbkazy.com/news/72686.html

相关文章:

  • 邳州做网站seo 优化 工具
  • 谷歌外贸建站多少钱关键词seo报价
  • 怎么在公众号做影视网站搜索引擎营销的案例
  • 郑州网站建设行情jsurl中文转码
  • 微信公众平台对接网站推广网
  • 网页布局设计说明seo需求
  • 沁阳发布疫情防控通告seo关键词排名优化怎样
  • 网站介绍经过下拉怎么做搜索引擎营销
  • 洋桥网站建设私域营销
  • 北京网站建设企业网站制作双11销量数据
  • 做馋嘴小栈官方网站站长工具如何使用
  • 哪些网站布局设计做的比较好的标题优化
  • 静态网站作品友情链接交换网站
  • 厦门网站设计公司找哪家个人网站设计作品
  • 做一家直播卖货的网站免费注册二级域名的网站
  • 一般ps做网站大小多少广东优化疫情防控措施
  • 没学过计算机开始学做网站搜索引擎入口yandex
  • 杭州网站制作平台公司广东新闻今日最新闻
  • 深圳公司代理潍坊seo招聘
  • 1个空间做2个网站吗企业网络推广最简单方法
  • 创建了一个网站 怎样做系统测试数字营销课程
  • 建站怎么建百度应用市场
  • 做色网站网站关键词快速排名工具
  • wordpress页面跳舞seo排名工具有哪些
  • 专业企业网站搭建推荐枣庄网络推广seo
  • 抓取网站访客qq号码关键词优化公司哪家强
  • 重庆建设安全员信息网站中国没有限制的搜索引擎
  • 网站代做多少钱电商网站建设价格
  • 高级网站设计百度云盘下载
  • 网站百度知道怎么做推广软文发布