数据结构与算法
文章平均质量分 94
[email protected]
Programmer(){
practice();
record();
think();}
展开
-
[Java] | 数据结构与算法分析 | ArrayList&&LinkedList结构和使用
目录 1. ArrayList 的结构 2.ArrayList的动态内存实现 3.ArrayList 常用方法 1. ArrayList 的结构 从上面图可知,ArrayList 实现List接口,List又是继承于Collection接口的; 2.ArrayList的动态内存实现 (1)数组实现; (2)默认初始容量 (3)当内存达到初始容量时,再添加一个元素,则自动增加内存,如何实现的? 增加内存的规则是,新的容量=旧的容量+(旧的容量 右移一位...原创 2021-08-15 16:22:56 · 143 阅读 · 0 评论 -
[Java] 数据结构与算法分析 |Collection接口与iterator接口|Collection中的remove()与iterator中remove()的区别
目录 1.Collection的接口结构 2.Collection接口中常用的方法 1.Collection的接口结构 collection的图如下所示: collection接口从其源码中可以得知:collection继承了Iterable接口 public interface Collection<E> extends Iterable<E> iterable接口中的方法有 Iterator<T> iterator(); default..原创 2021-08-13 15:52:43 · 267 阅读 · 0 评论 -
栈的运用之表达式(C++/C)
栈的运用之表达式(C++/C) 1.关键函数 bool bracketCheck(SeqStack &S,ElemType str[],int length){ for (int i = 0; i <length ; i++) { if (str[i]=='('||str[i]=='['||str[i]=='{'){ Push(S,str[i]); } else{ if (isStackEm..原创 2020-10-15 00:46:00 · 281 阅读 · 0 评论 -
队列(Queue)之顺序表和链表(C++/C)
队列(Queue)之顺序表和链表(C++/C) 1.基本操作 //初始化 void InitQueue(SqQueue &Q) //判断队列是否为空 bool isQueueEmpty(SqQueue Q) //判断是否队满 bool isQueeuFull(SqQueue Q) //入队 bool EnQueue(SqQueue &Q,ElemType x) //出队 bool DeQueue(SqQueue &Q,ElemType &x) ..原创 2020-10-14 23:45:29 · 1195 阅读 · 0 评论 -
栈(Stack)的顺序表和链表存储(C++/C)
栈(Stack)的顺序表和链表存储(C++/C) 1.基本操作 2.顺序存储 1.运行结果 2.源代码 #include<stdio.h> #include <stdlib.h> #define ElemType int #define MaxSize 50 typedef struct { ElemType data[MaxSize]; int top; }SeqStack; //初始化 void InitStack(SeqStack..原创 2020-10-13 21:54:21 · 536 阅读 · 0 评论 -
线性表之链表之循环链表(C++/C)
线性表之链表之循环链表(C++/C) 1.循环单链表 #include<stdio.h> #include <stdlib.h> #define ElemType int typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //初始化一个循环单链表 bool InitList(LinkList &L){ L=(LNode*)malloc(.原创 2020-10-12 11:44:50 · 135 阅读 · 0 评论 -
线性表之双链表(C++/C)
线性表之双链表(C++/C) 1.基本操作 注:双链表带头结点 声明: #include <stdio.h> #include <stdlib.h> //双链表 带头节点 #define ElemType int typedef struct DNode{ ElemType data; struct DNode*prior,*next; }DNode,*DLinkList; //初始化双链表 bool InitDLink(DLinkLis..原创 2020-10-12 00:44:12 · 158 阅读 · 0 评论 -
线性表之单链表(C++/C)
线性表之单链表(C++/C) 1 基本操作 声明部分: #include <cstdlib> #include "stdio.h" #define ElemType int typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; 1.//初始化单链表 //不带头结点的单链表 bool InitList(LinkList &L) //初始化单链表 //*.原创 2020-10-11 17:36:50 · 248 阅读 · 0 评论 -
线性表之顺序表(C/C++)
线性表之顺序表(C/C++) 1.表的基本操作 引入: #include<stdio.h> #include<stdlib.h> #define InitSize 10 #define ElemType int 线性表的创建内容:创 销 增 删 改 查 表的结构体说明: typedef struct { ElemType *data; int MaxSize; int length; }SeqList; //表的初始化 vo...原创 2020-10-11 14:21:26 · 388 阅读 · 0 评论