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

教我做网站网络舆情分析师

教我做网站,网络舆情分析师,b2b免费商务平台黄页,海南网站建设案例双向循环链表 节点类型与双链表的节点类型完全相同双向循环链表的操作也与双链表的操作基本一致。 例题 将自然数一到N按由小到大的顺序沿顺时针方向围成一个圈,然后以一为起点先沿顺时针方向数到第N个数将其划去,再沿逆时针方向数到第K个数将其滑去&a…

双向循环链表

节点类型与双链表的节点类型完全相同双向循环链表的操作也与双链表的操作基本一致。

例题

将自然数一到N按由小到大的顺序沿顺时针方向围成一个圈,然后以一为起点先沿顺时针方向数到第N个数将其划去,再沿逆时针方向数到第K个数将其滑去,重复上述操作直到剩下一个数为止,问最后剩下的是哪个数。(用带头节点双向循环链表实现。)

静态链表

图示:

适用情况:

无法实现上述的链式存储但可以借用一维数组来实现的情况可以使用。

优点:

线性表的插入和删除操作时不需要移动元素,仅需要修改指针游标就行。具有链式存储的主要优点

主要函数:

1、定义结构
代码
#include<stdio.h>
typedef int Element;
#define Maxsize 100
//定义结构 
typedef struct {Element date;int cur;
}StaLink[Maxsize]; 
注意:

date数据,cur游标(看作指针也可以),StaLink[i](i即为下标)

2、初始化:(申请空间)

建立一个空的静态链表space(将一维数组space中各分量炼成一个备用链表零表示空指针根据当前地图)

理解:
代码:
//初始化 
void creatLink(StaLink space){int i=0;for(i=0;i<Maxsize-1;i++){space[i].cur=i+1;space[Maxsize-1].cur=0;}
} 
3、获取结点函数:

从备用链表上获取一个新的结点,如果备用连表已经空了,获取节点的操作失败

理解:

感觉就是把头结点的next的结点的下标返回【不太理解】

通过看第5个建立静态表可以知道:

4、回收结点函数:(释放)

将从链表中删除的结点插入到备用链表中的头结点之后

5、建立静态表

建立一个含有n个节点的静态链表head

//建立静态链表
int createlink(StaLink space,int n){int k,head,s;//把头head申请出来 k=head=allocnode(StaLink space);for(int i=0;i<=n;i++){//循环把结点一个一个申请出来s=allocnode(StaLink space);scanf("%d",&space[s].date);space[k].cur=sk=s;//因为新的s就是下一个循环的头 }space[k].cur=0;return head;//返回即为头结点的下标 
} 
6、求表长

计算静态链表head中数据元素的个数

//求表长
int getlen(StaLink space,int head) {int i=0,s;s=space[head].cur;while(s!=0){s=space[s].cur;i++;}return i;
}
7、取元素:

取出静态链表head中的第i个结点的元素值

//取元素:取出静态链表head中的第i个结点的元素值
int getdate(StaLink space,int i,int head,Element *e){
//此时多加一个Element,而不是直接返回,
//可以理解为Element数据类型不一定为int,方便后续修改和使用 int j=0,s,k=head;                         //补加k=head; s=space[head].cur;//如何考虑i不在范围内 ?if(i>getlen(StaLink,head)||i<1)return 0; while(j<i&&k!=0)                           //补加 k!=0{s=space[s].cur;j++;}if(k==0)return 0;                          //补加 *e=space[j].date;return 1;
} 
8、定位:

确定静态链表head中第1个值为x的结点的位置

//定位:确定静态链表head中第1个值为x 的结点的位置
int locate(StaLink space,int head,Element x){//遍历,比较数据int k;k=space[head].cur;while(space[k].date!=x&&k!=0){k=space[k].cur;}while(k==0)return 0;return k; 
} 
9、插入

在静态链表head的第i个结点之前插入一个值为x的新结点

10、删除

讲静态链表head中的第i个结点

11、输出

从头结点开始,依次输出静态链表head中的所有元素值。

http://www.hkea.cn/news/5196/

相关文章:

  • 网站建设手机端管网关于进一步优化落实疫情防控措施
  • 需要做网站的公司有哪些百度网络小说排行榜
  • wordpress 管理后台昆明seo网站管理
  • 丹东站网站排名软件
  • 彭干泉 网站开发免费网站模板库
  • 财务网站模板网游百度搜索风云榜
  • 网站建设中图片电话seo狂人
  • 江西网站建设公司关键词优化排名平台
  • 上海疫情最新消息今天封城了百度seo工作室
  • 靠谱个性化网站开发网络推广深圳有效渠道
  • 福州制作网站提供商百度排行榜
  • magento外贸网站开发搜索引擎地址
  • 怎样做网站服务器免费com域名申请注册
  • 上海网站搜索优化百度竞价开户流程
  • 网站图片用什么格式视频网站建设
  • 工程资料代做网站网络广告销售
  • 灵宝超市建设管理局信访网站口碑营销的作用
  • 专业的网站设计深圳seo推广公司
  • uc官网网站开发者中心腾讯新闻最新消息
  • 建设网站网络公司免费网站建站页面
  • 数据库做图书管理系统网站goole官网
  • 网站建设 自适应搜索引擎优化简称
  • 南京手机网站制作公司五个成功品牌推广案例
  • 民权网站建设网站制作公司有哪些
  • 凡科能上传自己做的网站百度宣传做网站多少钱
  • 做网站代理怎么样重庆网站制作系统
  • 注册公司线上的网址三明网站seo
  • 电脑版网页入口金华seo全网营销
  • 欧美做暖网站网上营销型网站
  • 南京专业做网站公司seo 是什么