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

建设网站的请示北京有限公司

建设网站的请示,北京有限公司,需要大量做网站做推广的行业,四川手机网双向循环带头链表 双向循环带头链表结构如下  先设计数据结构如下。 typedef int LTDataType; typedef struct ListNode { struct ListNode* prev; struct ListNode* next; LTDataType val; }LTNode;.   第一个节点为头结点,后面链接的节点存储数据。一个指向前…

双向循环带头链表

 双向循环带头链表结构如下
Alt
 先设计数据结构如下。
typedef int LTDataType;
typedef struct ListNode
{
struct ListNode* prev;
struct ListNode* next;
LTDataType val;
}LTNode;.
  第一个节点为头结点,后面链接的节点存储数据。一个指向前面的指针prev,一个指向后面的指针next,一个数据。

 实现下面的接口
LTNode* ListInit();
void ListDestory(LTNode* phead);
void ListPrint(LTNode* phead);
void ListPushBack(LTNode* phead, LTDataType data);
void ListPopBack(LTNode* phead);
void ListPushFront(LTNode* phead, LTDataType data);
void ListPopFront(LTNode* phead);
LTNode* ListFind(LTNode* phead, LTDataType data);
// 双向链表在pos的前面进行插入
void ListInsert(LTNode* pos, LTDataType data);
// 双向链表删除pos位置的结点
void ListErase(LTNode* pos);


LTNode* ListInit();这个节点的实现初始化,要注意,两个指针要自己指向自己,在写后面的接口中有大用.

LTNode* BuyNode(LTDataType data)
{LTNode* node = (LTNode*)malloc(sizeof(LTNode));if (node == NULL){perror("malloc fail");return;}node->prev = node;node->next = node;node->val = data;return node;
}LTNode* ListInit()
{LTNode* node = (LTNode*)malloc(sizeof(LTNode));if (node == NULL){perror("malloc fail");return;}node->prev = node->next = node;return node;
}
}

 ListDestory接口实现定义一个指针cur = phead->next,先保存下一个节点的地址,在free.

void ListDestory(LTNode* phead)
{assert(phead);LTNode* cur = phead->next;while (cur!=phead){LTNode* next = cur->next;free(cur);cur = next;}free(phead);phead = NULL;
}

 ListPrint,遍历直接·打印

void ListPrint(LTNode* phead)
{assert(phead);LTNode* cur = phead->next;while (cur!=phead){printf("%d->", cur->val);cur = cur->next;}printf("\n---------------------------\n");
}

 LIstPushBack直接尾插,

void ListPushBack(LTNode* phead, LTDataType data)
{assert(phead);LTNode* newnode = BuyNode(data);LTNode* tail = phead->next;while (phead != tail->next)找到尾直接插入{tail = tail->next;}LTNode* prev = tail;LTNode* next = tail->next;prev->next = newnode;newnode->prev = prev;newnode->next = next;next->prev = newnode;
}

 尾删

void ListPopBack(LTNode* phead)
{assert(phead);if (phead->next == phead){printf("No node\n");return;}LTNode* cur = phead->next;while (cur->next != phead){cur = cur->next;}LTNode* prev = cur->prev;LTNode* next = cur->next;free(cur);prev->next = next;next->prev = prev;
}

 头插

void ListPushFront(LTNode* phead, LTDataType data)
{assert(phead);LTNode* newnode = BuyNode(data);LTNode* next = phead->next;phead->next = newnode;newnode->prev = phead;newnode->next = next;next->prev = newnode;
}

 头删

void ListPopFront(LTNode* phead)
{assert(phead);if (phead->next == phead){printf("No node\n");return;}LTNode* del = phead->next;LTNode* next = del->next;free(del);del = NULL;phead->next = next;next->prev = phead;}

 下面接口

LTNode* ListFind(LTNode* phead, LTDataType data)
{assert(phead);LTNode* cur = phead->next;while (cur != phead){if (cur->val == data){return cur;}cur = cur->next;}
}// 双向链表在pos的前面进行插入
void ListInsert(LTNode* pos, LTDataType data)
{assert(pos);LTNode* newnode = BuyNode(data);LTNode*  prev = pos->prev;prev->next = newnode;newnode->prev = prev;newnode->next = pos;pos->prev = newnode;}
// 双向链表删除pos位置的结点
void ListErase(LTNode* pos)
{assert(pos);LTNode* prev = pos->prev;LTNode* next = pos->next;free(pos);pos = NULL;prev->next = next;next->prev = prev;
}

 完结!
http://www.dtcms.com/wzjs/499644.html

相关文章:

  • nas wordpress 外网访问广州seo推广运营专员
  • 怎么建网站平台seo网站快速整站优化技术
  • 谷歌网站建设推广方式有哪几种
  • 做网站需要几个岗位南京关键词优化服务
  • 文案推广发布网站大全免费信息发布平台网站
  • 源码网站免费新网站seo
  • 网站后台上传文章怎么做安装百度到桌面
  • 黑客软件资源网站搜索引擎推广试题
  • 如何做产品网站三只松鼠搜索引擎营销案例
  • python做网站视频教程搜狗指数官网
  • 云南制作网站的公司seo的概念是什么
  • 企业建站系统费用太原做网站推广的公司
  • 网站建设与制作山西优化公司
  • 网站空间数据库需要多大电商代运营公司十强
  • 做网站选大公司好还是小公司好网站搭建公司
  • 网站结构优化怎么做长沙百度推广优化排名
  • 深圳市建设注册执业资格中心网站网络舆情管理
  • 太仓网站建设哪家好软文推广多少钱
  • 自己做的创意的网站外链工具在线
  • 网站建设佰首选金手指十七谷歌优化怎么做
  • 响应式网站开发原理今天最火的新闻头条
  • 东营做网站排名网站提交入口
  • 网站建设依循的原则广州搜索排名优化
  • 用什么java软件做网站搜狗指数
  • 佛山市seo推广哪家好seo优化诊断工具
  • asp和php的建站区别制作网页的教程
  • 平面设计投稿平台深圳网站优化网站
  • wordpress 幻灯片代码在哪里设置seo排名优化代理
  • 江苏城工建设科技有限公司网站免费换友情链接
  • html中文网站模板下载营销官网