![](https://img-blog.csdnimg.cn/9fae496cda7b44ce914f5ca9d1266876.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
从零开始的数据结构
文章平均质量分 68
各种数据结构的具体实现代码,为了学习重复造轮子是可以的对吧
Rosmontis-
实习ing
展开
-
【Java集合】List接口常用方法
List接口是Collection接口的子接口,继承了Collection接口的抽象方法。List集合类中元素有序(即添加顺序和取出顺序一致)、且可重复 List集合中的每个元素都有其对应的顺序索引,即支持索引。List容器中的元素都对应一个整数型的下标,记载其在容器中的位置,可以根据下标存取容器中的元素。原创 2024-01-18 11:53:15 · 351 阅读 · 0 评论 -
【数据结构地图】二叉树操作
原创 2022-05-08 17:03:45 · 518 阅读 · 0 评论 -
【数据结构地图】链式队列操作
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的尾端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先 进先出(FIFO—first in first out)线性表。.原创 2022-04-04 21:10:37 · 951 阅读 · 0 评论 -
【数据结构地图】循环队列操作
循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列结构中,当存储空间的最后一个位置已被使用而再要进入队运算时,只需要存储空间的第一个位置空闲,便可将元素加入到第一个位置,就是将存储空间的第一个位置作为队尾。循环队列可以更简单防止伪溢出的发生,但队列大小是固定的。在循环队列中,当队列为空时,有front=rear,而当所有队列空间全占满时,也有front=rear。为了区别这两种情况,规定循环队列最多只能有MaxSiz...原创 2022-03-30 17:27:30 · 1579 阅读 · 0 评论 -
【数据结构地图】链栈操作
链栈是使用链表存储结构实现的栈,一种操作受限的线性表。节点组成元素与链表是一样的,这里的链表使用单链表,由于栈只能在一端进行操作,所以使用双链表是比较多余的。只需要一个指针top作为栈顶指针。#include <iostream>using namespace std;struct Node { Node* next; int data;};Node* top;//栈顶指针bool empty() { return top == NULL;//栈一般没有头节点}..原创 2022-03-30 14:07:25 · 1110 阅读 · 0 评论 -
【数据结构地图】顺序栈操作
顺序栈具体定义实现,以及创建顺序栈的实现代码通过创建结构体实现顺序栈,结构体包含节点的主要信息,包括数组和一个栈顶指针,下面是一段节点定义代码,定义了一个节点结构体。主要为了展示操作逻辑,直接在栈区创建顺序栈对象,以便减少不必要的脑算力开支#include <iostream>using namespace std;#define maxsize 5struct SeqStack{ int data[maxsize]; int top;};SeqStack S;原创 2022-03-24 10:51:30 · 1667 阅读 · 0 评论 -
【数据结构地图】单链表操作
本篇主要专注与于解析操作代码的各部分意义,包含链表的增删改查算法实现下面进入正题:通过创建结构体实现链表,结构体包含节点的主要信息,包括但不限于节点数据域、节点指针域,下面是一段节点定义代码,定义了一个节点结构体。为方便理解,尽可能地简化了语法并在栈区创建节点对象及相关来链表元素,链表实例化对象及要素写在全局区中来调用,代码仅仅表现大体逻辑框架,接近伪代码#include <iostream>using namespace std;struct Node { Node*原创 2022-03-19 13:54:11 · 861 阅读 · 0 评论 -
【数据结构地图】顺序表操作
顺序表Traverse() ——元素遍历函数void Traverse(){if(empty()) cout<<"Sequence list is empty";else {cout<<”result:”;for(int i = 0;i<curlength;++i){ cout<<data[i]<<" "; cout<<endl; }}bool Empty(){return curlength ==原创 2022-03-15 16:45:50 · 663 阅读 · 0 评论