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

网站有那些风格韩城网站建设

网站有那些风格,韩城网站建设,徐州工作招聘信息网,官方小程序单链表的局限#xff1a; 单链表的缺点#xff1a;逆序访问单链表中的元素耗时大。#xff08;时间复杂度#xff1a;O#xff09; 双向链表的定义 第0个节点【a1】的pre指针为NULL#xff0c;要注意 插入操作#xff1a; 删除操作#xff1a; 初步实现双链表 代码 单链表的缺点逆序访问单链表中的元素耗时大。时间复杂度O² 双向链表的定义 第0个节点【a1】的pre指针为NULL要注意 插入操作 删除操作 初步实现双链表 代码 插入代码中要注意 注意第0个元素的pre指针为NULL 插入的是空双链表中的 第一个元素,示意图 插入的为最后一个元素 main.c //双链表 #include DLinkList.h struct Value {DLinkListNode header;int v; }; int main() {int i;DLinkList* list DLinkList_Create();struct Value v1;struct Value v2;struct Value v3;struct Value v4;struct Value v5;v1.v 1;v2.v 2;v3.v 3;v4.v 4;v5.v 5;DLinkList_Insert(list, v1, DLinkList_Length(list));DLinkList_Insert(list, v2, DLinkList_Length(list));DLinkList_Insert(list, v3, DLinkList_Length(list));DLinkList_Insert(list, v4, DLinkList_Length(list));DLinkList_Insert(list, v5, DLinkList_Length(list));for ( i 0; i DLinkList_Length(list); i){struct Value* pv (struct Value*)DLinkList_Get(list, i);printf(%d\n, pv-v);}printf(\n);DLinkList_Delete(list, DLinkList_Length(list) - 1);DLinkList_Delete(list, 0);for (i 0; i DLinkList_Length(list); i){struct Value* pv (struct Value*)DLinkList_Get(list, i);printf(%d\n, pv-v);}DLinkList_Destory(list); }DLinkList.h #pragma once #pragma once #pragma once #include stdio.htypedef void DLinkList; //定义包含指针next的结构体 typedef struct _tag_DLinkListNode DLinkListNode; typedef struct _tag_DLinkListNode {DLinkListNode* next;DLinkListNode* pre; };/* 该方法用于创建并且返回一个空的线性表 */ DLinkList* DLinkList_Create();/* 该方法用于销毁一个线性表DLinkList */ void DLinkList_Destory(DLinkList* list);/* 该方法用于将一个线性表DLinkList中的所有元素清空 使得线性表回到创建时的初始状态 */ void DLinkList_Clear(DLinkList* list);/* 该方法用于返回一个线性表DLinkList中的所有元素个数 */ int DLinkList_Length(DLinkList* list);int DLinkList_Capacity(DLinkList* list);/* 该方法用于向一个线性表DLinkList的pos位置处插入新元素node 返回值为1表示插入成功0表示插入失败 */ int DLinkList_Insert(DLinkList* list, DLinkListNode* node, int pos);/* 该方法用于获取一个线性表DLinkList的pos位置处的元素 返回值为pos位置处的元素NULL表示获取失败 */ DLinkListNode* DLinkList_Get(DLinkList* list, int pos);/* 该方法用于删除一个线性表DLinkList的pos位置处的元素 返回值为被删除的元素NULL表示删除失败 */ DLinkListNode* DLinkList_Delete(DLinkList* list, int pos); DLinkList.c #include DLinkList.htypedef struct _tag_DLinkList {DLinkListNode header;//头指针int length;//单链表的长度 }TDLinkList; //类型既代表头结点又代表整个单链表DLinkList* DLinkList_Create() {TDLinkList* ret (TDLinkList*)malloc(sizeof(TDLinkList));if (ret) {ret-length 0;ret-header.next NULL;ret-header.pre NULL;} }void DLinkList_Destory(DLinkList* list) {free(list); }void DLinkList_Clear(DLinkList* list) {((TDLinkList*)list)-length 0;((TDLinkList*)list)-header.next NULL;((TDLinkList*)list)-header.pre NULL;}int DLinkList_Length(DLinkList* list) {return ((TDLinkList*)list)-length; }int DLinkList_Insert(DLinkList* list, DLinkListNode* node, int pos) {TDLinkList* tll (TDLinkList*)list;int i 0;int ret -1;ret (tll ! NULL) (pos 0) (node ! NULL);if (ret) {DLinkListNode* current (DLinkListNode*)tll;DLinkListNode* next NULL;//移动current指针到pos位置for (i 0; (i pos) (current-next ! NULL); i){current current-next;}next current-next; ////关键current-next node;//插入的步骤node-next next;if (next) {next-pre node;}node-pre current;//个人认为这个判定条件不对如果链表原来长度为5现在要插入第0个位置【即链表第一个节点】此if的代码不会被执行//那么第一个节点的pre指针就不能被赋值为NULL导致问题if (tll-length 0) {node-pre NULL; }tll-length;}return ret; }DLinkListNode* DLinkList_Get(DLinkList* list, int pos) {TDLinkList* tll (TDLinkList*)list;DLinkListNode* ret NULL;int i 0;if ((tll ! NULL) (pos 0) pos tll-length) {DLinkListNode* current (DLinkListNode*)tll;for (i 0; i pos; i){current current-next;}ret current-next;}return ret; }DLinkListNode* DLinkList_Delete(DLinkList* list, int pos) {TDLinkList* tll (TDLinkList*)list;DLinkListNode* ret NULL;int i 0;if ((tll ! NULL) (pos 0) pos tll-length) {DLinkListNode* current (DLinkListNode*)tll;DLinkListNode* next NULL;for (i 0; i pos; i){current current-next;}ret current-next;next ret-next; current-next next;//删除的步骤if (next) {next-pre current;if (current (DLinkListNode*)tll) { //如果删除的是第一个元素next-pre NULL;}}tll-length--;}return ret; } 最终的代码 添加“游标”操作
http://www.pierceye.com/news/222729/

相关文章:

  • 网站 迁移房地产销售基础知识大全
  • 门户网站建设汇报材料网站开发与制作中期报告
  • 网站建设可以自己弄吗知乎做网站必须要服务器吗
  • 怎么制作自己的小程序专业seo整站优化
  • 做网站是干什么用的苏宁易购网站上的营销页面
  • 浪网站制作网站开发是无形资产
  • 做阿里巴巴网站可以贷款吗seo如何快速排名百度首页
  • 公司做网站都咨询哪些问题网站平台建设视频教学
  • 西安电子商务网站建设网站里面的链接怎么做
  • 郑州陆港开发建设有限公司网站58招商加盟项目
  • 徐州高端网站建设个人网站设计首页界面
  • 山西企业建站系统平台关键词 优化 网站
  • 地板网站建设方案有什么做美食的网站
  • 网站建设丶金手指专业网站幻灯片 字段
  • 网站开发技术总结干完房产中介整个人废了
  • iis建站安装wordpress对网站建设的评价语
  • 网站开发网站建设公司二手房网
  • 72建站网如何建设一个药材网站做网站的费用 可以抵扣吗
  • 四川通信建设工程有限公司网站做企业网站需要服务器么
  • 福田建网站费用烟台招远网站建设
  • 上海网站开发建设电话丹东市做网站
  • 外贸网站 免费模板 使用 zencart做新闻类网站
  • 呼和浩特网站推广大德通网站建设
  • 携程旅行网站建设上海城市建设大学网站
  • 360网站收录做网站设计用什么软件
  • 微信html5模板网站最新网站建设软件有哪些
  • 芝麻开门网站建设无极电影网怎样下载电影
  • 网站开发 书籍首页关键词优化价格
  • 网站建设建站流程方案百度一下你就知道下载安装
  • 大型网站快速排名学生做的网站能攻击