【模板】双向链表
来源:互联网 发布:linux awk 分隔符 编辑:程序博客网 时间:2024/06/05 03:04
#include <bits\stdc++.h> using namespace std;typedef long long ll;struct Node{ int key; Node *next,*prev;};Node *nil;void init(){ nil = (Node *) malloc(sizeof(Node)); nil->next = nil; nil->prev = nil;}void insert(int key){ Node *x = (Node *) malloc(sizeof(Node)); x->key = key; //在头结点后添加元素 x->next = nil->next; nil->next->prev = x; nil->next = x; x->prev = nil;}Node *listSearch(int key){ Node *cur = nil->next; // 从头结点后面的元素开始访问 while(cur != nil && cur->key != key){ cur = cur->next; } return cur;}void deleteNode(Node *t){ if(t == nil) return; // t为头结点时不作处理 t->prev->next = t->next; t->next->prev = t->prev; free(t);}void deleteFirst(){ deleteNode(nil->next);}void deleteLast(){ deleteNode(nil->prev);}void deleteKey(int key){ //删除搜索到的结点 deleteNode(listSearch(key)); }void printList(){ Node *cur = nil->next; int isf = 0; while(true){ if(cur == nil) break; if(isf++ > 0) printf(" "); printf("%d",cur->key); cur = cur->next; } printf("\n");}int main() { return 0;}// writen by zhangjiuding
阅读全文
0 0
- 双向链表模板
- 模板双向链表
- 【模板】双向链表
- C++模板--------双向链表
- C++模板-双向链表
- 类模板---双向链表
- 双向循环链表模板
- 模板实现双向链表
- 模板实现双向链表
- c++实现双向链表,类模板双向链表
- 双向链表的通用模板
- 带模板双向链表插入
- 基于模板类的双向链表
- C++双向环形链表模板类
- c++模板实现双向链表
- 双向循环链表-模板-自定义类型
- 模板(双向链表与队列)
- 双向链表List---类模板实现
- 51nod 1402 最大值 3级算法题 排序后修改限制点 时间复杂度O(m^2)
- 简单的Nginx负载均衡
- AXI4协议分析
- 逆置
- 高斯消元——球形空间产生器sphere
- 【模板】双向链表
- c++的新型数组
- Merge Two Binary Trees(leetcode)
- Java 可变参数
- 指针与地址
- 一组数排序
- sdnu1035找零钱
- CSP 2017-03
- 1.3创建一个主动套接字