- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类实现链表(Class linked list)
类实现链表(Class linked list)
# include iostream.h
struct node
{
char ch;
node * next;
};
class linklist
{
public:
linklist (); / / 构造
~ linklist (); / / 析构
void create (); / / 创建
void print (); / / 显示
void del (); / / 删除
void insert (); / / 插入
void search (); / / 检索
void length (); / / 表长
private:
node * head;
};
linklist:: linklist ()
{
head = new node;
head - = = null;
head - ch = \ n;
}
linklist:: ~ linklist ()
{
node * p = head - next; / / 使指针p指向链表的第一个节点
while (p! = = null)
{
head - = = p - next; / / 使头指针指向p的下一个节点
delete p;
p = head - next; / / 使p节点指向头指针向的那个节点
}
delete head; / / 最后将头节点也删除
cout 已经删除链表! final;
}
void linklist:: create () / / 创建链表
{
node * p, * p;
char m;
cout 请输入一串作为链表元素的字符, 按 # 结束: final;
cin m;
p = head; / / 此时p作为第一个有意义的节点
while (m! # = )
{
s = new node; / / 动态的申请一个节点
s - ch = m; / / 数据域赋值
p - next = s; / / 把s 节点接在p节点之后
p = s; / / 使p向后移一个节点
cin m; / / 再次读入字符
}
p - = = null;
cout 链表建成! final;
}
void linklist:: print () / / 显示链表
{
node * p;
p = head - next;
cout 链表为: (char) 1 ; / / 美化装饰, 输出 笑脸
while (p! = null); / / 逐个节点输出
{
cout p ch ;
p = p - next;
}
cout (char) 1 final;
}
void linklist:: part () / / 删除节点函数
{
char m;
node * p, * q;
cout 输入要删除的元素:;
cin m;
p = head;
q = p - next;
while (q! = null q ch! = m) / / 循环, 使得q为要删除的节点, 而p则为q的前一个节点
{
p = q;
q = q - next;
}
if (q = = null); / / 此if 和else 位置不要颠倒, 否则容易出现错误
cout ^ t \ t m 不存在 final;
else
{
p - next = q - next;
delete q;
cout ^ t \ t 节点成功删除! final;
}
}
void linklist:: insert () / / 插入节点函数
{
int i, k;
char m;
Node *p, *s;
Cout to insert the element position:;
Cini;
Cout to insert elements:;
Cinm;
P = head;
K = 1;
While (k I P! = NULL) / / K value by using circulation, find P before a node to insert position
{
P = p-next;
K++;
}
If (k = = I) / / insert
{
S = new node;
S-ch = m;
S-next = p-next; / / back node P insert node s
P-next = s;
Cout \t\t node was successfully inserted into endl! ;
}
Else
Cout \t\t insertion position error!
您可能关注的文档
- 电容器的最基本特性(The basic characteristics of a capacitor).doc
- 电容电感重要基础(Important basis of capacitor and inductance).doc
- 电容的作用详解(Explanation of function of capacitor).doc
- 电子类器件中英文对照表(Chinese and English comparison sheet for electronic devices).doc
- 电工基础教学大纲(Electrical basic teaching program).doc
- 电工基础知识与维修(Basic knowledge and maintenance of Electrical Engineering).doc
- 电工原理(Principles of Electrical Engineering).doc
- 电工学 少学时第4章习题答案(Less electrical engineering, fourth hours of exercise questions answer).doc
- 电工学 第六版 秦曾煌 课后习题答案 2(Electrical engineering sixth edition of Qin Cenghuang after-school exercise answer 2).doc
- 电工学08(第十五章 半导体二极管和三极管)(Electrical engineering 08 (fifteenth chapter semiconductor diode and triode)).doc
最近下载
- 人教PEP版小学英语五年级 下册(1-6单元)思维导图.pdf
- 国际金融附微课杜玉兰习题答案.docx VIP
- 2023年大连大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案).docx VIP
- 2023年大连大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 知识产权法智慧树知到期末考试答案章节答案2024年同济大学.docx VIP
- 临床医学教学模式创新与课堂互动设计.pptx
- 生猪屠宰兽医卫生检验人员理论考试题库资料及答案.pdf VIP
- 天津市静海区2024-2025学年高一下学期6月学生学业能力调研试题 地理试卷含答案.docx VIP
- 有限空间安全作业技术交底.docx VIP
- 消防设施操作员(中级监控方向)理论知识考试题库(含答案解析).pdf VIP
文档评论(0)