单链表-使用 Bertha 。 2024-04-06 11:27 52阅读 0赞 /* */ #include<iostream> using namespace std; template<class T> struct Node { T data; //数据域 Node<T>*next;//指针域 }; template<class T> class LinkList { public: LinkList(); LinkList(T a[],int n); ~LinkList(); int Length(); T Get(int i); int Locale(T x); void Insert(int i,T x); T Delete(int i); int Empty(); void PrintList(); private: Node<T>*first;//单链表的头指针 }; //初始化单链表------》生成只有头结点的空单链表 template<class T> LinkList<T>::LinkList() { first=new Node<T>;//生成头结点 first->next=nullptr;//头结点的指针域为空 } //判断表是否为空 template<class T> int LinkList<T>::Empty() { if(first->next==nullptr) cout<<"Empty!"<<endl; else return 0; } //遍历操作 template<class T> void LinkList<T>::PrintList() { Node<T>*p=first->next;//工作指针初始化 while(p!=nullptr) { cout<<p->data<<"\t"; p=p->next;//工作指针往后移动 } cout<<endl; } //求单链表的长度 template<class T> int LinkList<T>::Length() { Node<T>*p=first->next;//工作指针初始化 int count=0;//累加器初始化 while(p!==nullptr) { p=p->next; count++; } return count; } //按位查找 template<class T> T LinkList<T>::Get(int i) { Node<T>*p=first->next;//工作指针初始化 int count=1;//累加器初始化 while(p!=nullptr&&count<i) { p=p->next;//工作指针往后移动 count++; } if(p==nullptr) throw"FInd Error!"; else return p->data; } //按值查找 template<class T> int LinkList<T>::Local(T x) { Node<T>*p=first->next;//工作指针初始化 int count=1; while(p!=nullptr) { if(p->data==x) return count; p=p->next;//工作指针往后移动 count++ } } template<class T> void LinkList<T>::Insert(int i,T x) { Node<T>*p=first,*s=nullptr; int count=0; while(p!=nullptr&&count<i-1)//查找第i-1个结点 { p=p->next;//工作指针后移 count++; } if(p==nullptr) throw"Insert Error!"; else { s=new Node<T>;//申请结点S s->data=x;//数据域为x } } template<class T> LinkList<T>::LinkList(T a[],int n) { first=new Node<T>; first->next=nullptr; for(int i=0;i<n;i++) { Node<T>*s=nullptr; s=new Node<T>; S->data=a[i]; s->next=first->next; first->next=s; } } int main() { return 0; }
相关 单链表-使用 / / include<iostream> using namespace std; template<class Bertha 。/ 2024年04月06日 11:27/ 0 赞/ 53 阅读
相关 【链表】单链表、双向循环链表 文章目录 前言 一:链表(LinkedList) 1.1 链表分类 1.2 介绍 1.3 链表的概念及结构 二: 骑猪看日落/ 2024年03月24日 18:19/ 0 赞/ 102 阅读
相关 单链表 回顾 在 [线性表][Link 1] 中,介绍了线性表定义、顺序存储结构以及链式存储结构这两种存储结构。 先回顾下线性表的链式存储结构的一些内容: 1. 链表是线性 末蓝、/ 2023年10月05日 19:06/ 0 赞/ 25 阅读
相关 单链表 一图在手,万题无忧。数学题是这样,算法题也是这样。 typedef struct Node { DataType data; struc 雨点打透心脏的1/2处/ 2023年03月14日 13:12/ 0 赞/ 52 阅读
相关 使用python定义单链表 前言 文章来源:CSDN@LawsonAbs 使用python定义一个单链表 -------------------- class Node: 朱雀/ 2022年09月09日 11:53/ 0 赞/ 137 阅读
相关 单链表 学习单链表已经有一段日子了,从大二到现在,也有不少年,最近准备实习生招聘,要开始复习并记录一些重要知识。 一、链表逆置 链表逆置,一直是我记不住的一个内容,如果要逆置一 不念不忘少年蓝@/ 2022年07月12日 00:25/ 0 赞/ 218 阅读
相关 线性链表 — 单链表 线性链表存储结构的特点:用一组任意的存储单元存储线性表的数据元素(存储单元可以是连续的,也可以是不连续的) 数据元素a与其直接后继a+1之间的逻辑关系,对数据元素a来说,除了 墨蓝/ 2022年04月16日 03:40/ 0 赞/ 410 阅读
相关 单链表 / @author huihut @E-mail:huihut@outlook.com @version 创建时间:2016年9月18日 偏执的太偏执、/ 2021年12月18日 05:09/ 0 赞/ 380 阅读
相关 (四)线性表 ---→ 链表 ---→ 单链表 文章目录 概念 特点 复杂度 \`java\` 代码实现 -------------------- 概念 女爷i/ 2021年12月10日 04:05/ 0 赞/ 376 阅读
相关 单链表 【一】单链表特点 > 1.存储方式为:节点,节点包含data域和next域,data域用于存储数据,next域用于存储下一个节点对应的地址。 > 2.链表的各个节点不一定 叁歲伎倆/ 2021年08月11日 21:03/ 0 赞/ 537 阅读
还没有评论,来说两句吧...