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

网站制作与建设书籍/搜索引擎排名google

网站制作与建设书籍,搜索引擎排名google,济南教育加盟网站建设,确定建设电子网站的目的在单链表当中,从已知节点出发,只能访问该节点的后继节点,却无法访问 该节点之前的节点,在单循环链表当中,虽然可以通过一个节点访问表中所 有节点,但是要找到直接前驱却要遍历整个表,因此为了加…

在单链表当中,从已知节点出发,只能访问该节点的后继节点,却无法访问

该节点之前的节点,在单循环链表当中,虽然可以通过一个节点访问表中所

有节点,但是要找到直接前驱却要遍历整个表,因此为了加快寻找某个节点

的前驱,可以在每个节点的结构体上添加一个直接访问前驱的指针域来快速

定位前驱节点。下面是简单的双链表代码,当然优势还没有体现出来,后面

在慢慢补充

#include <stdio.h>
#include <stdlib.h>
#include <time.h>#define OK 1
#define ERROR 0
#define OVERFLOW -1typedef struct Dbnode{int data;struct Dbnode * next;struct Dbnode * prior;
} Dbnode, *Dblink;typedef int ElemType;
typedef int Status;

/*********************
     初始化
输入:链表指针,初始个数
输出:状态码
功能:初始化带数值的双向链表
*********************/ Status initLink(Dblink
* link,int num){srand(time(0));
Dblink L
= *link;Dblink tmp,new;L->data = 0;L->prior = NULL;L->next = NULL;tmp = L;int i;for(i=0;i<num;i++){new = (Dblink)malloc(sizeof(Dbnode));new->data = rand()%100 +1;new->next = tmp->next;new->prior = tmp;tmp->next = new;tmp = tmp->next;}tmp->next = *link; //connect the head(*link)->prior = tmp;return OK; }

/*********************
     插入
输入:链表指针,插入位置,插入值
输出:状态码
功能:在指定的位置插入指定的值
*********************/
Status insertLink(Dblink
*link,int index,ElemType e){Dblink tmp = (*link)->next; //ignore head nodeDblink new,pre;int i=1;while( tmp!=*link && i<index ){tmp = tmp->next;i++;}if( tmp==*link || i>index){printf("overflow\n");return OVERFLOW;}new = (Dblink)malloc(sizeof(Dbnode));pre = tmp->prior;new->data = e;new->prior=pre;new->next =tmp;pre->next = new;tmp->prior= new;return OK; }
/*********************
     删除
输入:链表指针,删除位置
输出:状态码
功能:在指定位置删除节点
*********************/
Status deleteLink(Dblink
*link,int index){Dblink tmp = (*link)->next; //ignore head node int i=1;while( tmp!=*link && i<index ){tmp=tmp->next;i++;}if( tmp==*link || i>index ){printf("overflow\n");return OVERFLOW;}Dblink pre = tmp->prior;Dblink net = tmp->next;pre->next = tmp->next;net->prior = tmp->prior;free(tmp);return OK; }
/*********************
     颠倒
输入:链表指针
输出:状态码
功能:将链表的节点颠倒过来
*********************/
Status convertLink(Dblink
* link){Dblink p,q;p = (*link)->next;while( p != *link){q = p->next;p->next = p->prior;p->prior = q;p=q;}q = (*link)->next; //p is *link(*link)->next = p->prior;(*link)->prior = q;return OK; }

/*********************
     打印
输入:链表指针
输出:状态码
功能:将链表的元素一一打印
*********************/
Status printLink(Dblink link){Dblink p
= link;while(p->next!=link){p = p->next; //ignore head nodeprintf("[%d] ",p->data);}printf("\n");return OK; }int main(){int num,index,value;Dblink link = (Dblink)malloc(sizeof(Dbnode));//initationprintf("[create]enter the num:");scanf("%d",&num);initLink(&link,num);printLink(link);//convertprintf("[convert]\n");convertLink(&link);printLink(link);//insertprintf("[insert]enter the index:");scanf("%d",&index);printf("[insert]enter the value:");scanf("%d",&value);insertLink(&link,index,value);printLink(link);//deleteprintf("[delete]enter the index:");scanf("%d",&index);deleteLink(&link,index);printLink(link);return OK; }

 

 

转载于:https://www.cnblogs.com/demonxian3/p/7123461.html

http://www.lbrq.cn/news/1100161.html

相关文章:

  • 专做充电器的网站/搜索引擎大全排名
  • it做私活的网站/人民网今日头条
  • 温州做网站建设多少钱/怎么样做推广最有效
  • 自贡网站建设公司/中国关键词
  • 通州网站制作/seo是什么职位简称
  • 推荐武汉手机网站建设/百度获客
  • 西安做网站哪里价格低/品牌宣传有哪些途径
  • 浙江建设信息网港/东莞关键词seo
  • 广州建设网站是什么/搜狗收录入口
  • 百度seo优化技巧/西安优化外
  • 装饰公司315活动网站怎么做/百度极速版下载安装
  • 哪些网站建设公司好/病毒式营销方法
  • 注册了域名怎样做网站/上海网站排名推广
  • 查一下红之易道学做的什么网站/whois域名查询
  • 东营建站/亚洲7号卫星电视
  • 网站开发需要考虑哪些方面/互联网推广平台
  • 做网站用是内网穿透好/一个完整的产品运营方案
  • 服务器做网站配置/热搜榜百度一下你就知道
  • 自己做的网站怎么在百度可以查到/百度统计收费吗
  • 哪个网站做学历认证/seo推广排名
  • 微信产品展示小程序/百度sem优化师
  • 广州专业做网站建设/百度竞价排名一年费用
  • 代理建设网站/淘宝联盟怎么推广
  • 单页网站制作教程/北京搜索引擎优化经理
  • 帮建网站的人/信息推广
  • wordpress 博客地址更改/优化流程
  • 免费的网站程序哪里好/竞价广告是怎么推广的
  • e网站建设/微营销平台
  • 展示型网站 asp.net/识图
  • 南京大学特色专业建设网站/公司网站优化方案
  • Js进阶案例合集
  • securecrt连接服务器报错 Key exchange failed 怎么办
  • 【软件测试】从软件测试到Bug评审:生命周期与管理技巧
  • Keil编译文件格式转换全解析
  • 1Panel中的OpenResty使用alias
  • Flowable31动态表单-----------------------终章