博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++数据结构之单链表
阅读量:2051 次
发布时间:2019-04-28

本文共 1351 字,大约阅读时间需要 4 分钟。

以前在学数据结构的时候,单链表是用C语言实现的,所以最近我用C++重新写了一个单链表,复习以前学过的知识。

下面是相关的代码,主要实现的单链表的插入、删除、查找(返回索引)、显示、反转和返回其长度。

template
class Node{private: template
friend class LinkedList; Node(T d); T data; Node
*next;};template
class LinkedList{public: LinkedList(); void insert(T d); void remove(T d); int search(T d); void showAll(); void reverse(); int length();private: int len; Node
*head;};template
Node
::Node(T d){ data = d;}template
LinkedList
::LinkedList(){ head = new Node
(0); head->next = NULL; len = 0;}template
void LinkedList
::insert(T d){ Node
*p,*q; p = head; while(p->next!=NULL) p = p->next; q = new Node
(d); p->next = q; q->next = NULL; len++;}template
void LinkedList
::remove(T d){ Node
*p = head; int i=0; int index = search(d); if(index>=0) { for(;i
next; p->next = p->next->next; len--; } else std::cout<
<<"不存在"<
int LinkedList
::search(T d){ Node
*p = head->next; int index = 0; while(p) { if(p->data == d) return index; else p = p->next; } return -1;}template
void LinkedList
::showAll(){ Node
*p = head->next; while(p) { std::cout<
data<<"\t"; p=p->next; }}template
int LinkedList
::length(){ return len;}template
void LinkedList
::reverse(){ Node
*p = head->next; Node
*q = head->next; head->next = NULL; while(p) { q = p->next; p->next = head->next; head->next = p; p=q; }}

转载地址:http://cwklf.baihongyu.com/

你可能感兴趣的文章
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>
ExecutorService 线程池 newFixedThreadPool newSingleThreadExecutor newCachedThreadPool
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
win10将IE11兼容ie10
查看>>
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>