
C++ 0507 指针和链表的使用
发布日期:2021-05-08 04:49:46
浏览次数:17
分类:精选文章
本文共 1199 字,大约阅读时间需要 3 分钟。
指针参数和引用参数
int x = 2;
x=incr_v(x); //将x拷贝到incr_v(),然后将结果拷贝出来并赋予x使用指针参数警告编程者有些东西可能改变。
int x = 7; incr_p(&x); //需要& incr_r(x); 指针、引用和继承当我们希望很容易地移除一个元素时,应使用双向链表。
struct Link
{ string value; Link* prev; Link* succ; Link(const string& v, Link* p=nullptr, Link* s=nullptr) :value{v},prev{p},succ{s} {} };norse_gods
Freia Odin Thorn p
Link* insert(Link* p, Link* n) // 在P之前插入n(不完整)
{ n->succ = p; //p紧跟在n之后 p->prev->succ = n; //n紧跟在p的前驱之后 n->prev=p->prev; //p的前驱变为n的前驱 p->prev=n; //n变为p的前驱 return n; }Link* norse_gods = new Link{"Thor"};
norse_gods = insert(norse_gods, new Link{"Odin"}); norse_gods = insert(norse_gods, new Link{"Freia"}); 链表操作Link* erase(Link* p) // 从链表中删除 *p;返回p的后继
{ if (p==nullptr) return nullptr; if (p->succ) p->succ->prev = p->prev; if (p->prev) p->prev->succ = p->succ; return p->succ; }Link* find(Link* p, const string& s) // 在链表中查找s
{ while(p) { if (p->value == s) return p; p = p->succ; } return nullptr; } //n为正数表示前进,负数表示后退 Link* advance(Link* p, int n) //在链表中移动n个位置 { if(p==nullptr) return nullptr; if(0<n) { while(n--) { if(p->succ == nullptr) return nullptr; p = p->succ; } } else if(n<0) { while(n++) { if(p->prev == nullptr) return nullptr; p = p->prev; } } } 链表的使用发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月25日 13时50分14秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
专题(七)贪心——AcWing 112. 雷达设备
2021-05-08
深入理解JVM(一)JVM概述、类的声明周期、JVM整体架构、JMM、volatile
2021-05-08
【Java】寻找数组中“主要元素”
2021-05-08
达梦数据库主备部署
2021-05-08
P1455 搭配购买(并查集+dp)
2021-05-08
P3367 【模板】并查集(并查集)
2021-05-08
线段树练习题一(离散化)
2021-05-08
2020.9.12 SSL普及组模拟(第4题)(树)(暴力邻接表80)
2021-05-08
Codeforces 1400E Clear the Multiset(贪心 + 分治)
2021-05-08
JDBC连接数据库
2021-05-08
嵌入式系统设计师学习笔记⑥:存储器的层次架构及Cache详解
2021-05-08
2019CCPC女生专场赛_K - Tetris_打表/模拟_暴力之王
2021-05-08
服务器下载部署配置nginx,实现nginx代理多个项目
2021-05-08
算法笔记之快速幂
2021-05-08
P1125 [NOIP2008 提高组] 笨小猴 (Java)
2021-05-08
HDU1559(二维前缀和模板 Java&C++)
2021-05-08
ASP.NET javascript实现图片切换
2021-05-08
ASP.NET jQuery 小实例(实现图片的放大&缩小)
2021-05-08