数据结构
语胡言胡
这个作者很懒,什么都没留下…
展开
-
数据结构复习-06 排序
冒泡排序(稳定) 流程 1 从头开始比较每一对相邻元素,如果第1个比第2个大,就交换它们的位置 执行完一轮后,最未尾那个元素就是最大的元素。 2 忽略1中曾经找到的最大元素,重复执行步骤1,直到全部元素有序。 public class BubbleSort1<T extends Comparable<T>> extends Sort<T>{ @Override protected void sort1() { for (int end = array.leng原创 2021-03-26 19:52:57 · 56 阅读 · 0 评论 -
剑指数据结构-和为S的两个数字
和为S的两个数字 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 class Solution { public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { vector<int> n; int i = 0,j = array.size()-1; w原创 2021-03-26 14:10:55 · 58 阅读 · 0 评论 -
数据结构复习整理-04队列
队列 队列是一种特殊的线性表,只能在头尾两端进行操作,从队尾添加元素叫入队,从队头移除元素叫做出队,队列存在先进先出的原则。 public class Queue<E> { private List<E> list = new LinkedList<>(); public int size() { return list.size(); } public boolean isEmpty() { return list.isEmpty(); }原创 2021-03-24 17:11:56 · 65 阅读 · 0 评论 -
数据结构复习整理-03栈
栈 栈是一种特殊的线性表,遵循后进先出的原则。 栈的接口 boolean isEmpty(); // 是否为空 int size(); // 元素的数量 void push(E element); // 入栈 E pop(); // 出栈 E top(); // 获取栈顶元素 void clear(); // 清空 动态数据实现栈的接口 package com.gc; import com.gc.list.ArrayList; import com.gc.list.List; public class原创 2021-03-24 10:45:55 · 56 阅读 · 0 评论 -
数据结构复习整理-02链表
链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 链表接口 package com.gc; public interface List<E> { static final int ELEMENT_NOT_FOUND = -1; /** * 清除所有元素 */ void clear(); /** * 元素的数量原创 2021-03-23 20:46:30 · 51 阅读 · 0 评论 -
数据结构复习整理-01动态数组
1. 数组(Array) 数组是一种顺序存储的线性表,所有元素的内存地址是连续的; 2. 动态数组接口 int size(); // 元素的数量 boolean isEmpty(); // 判断是否为空 boolean contains (E element); // 是否包含某个元素 void add (E element); // 添加元素到最后面 E get (int index); // 返回index位置对应的元素 E set (int index, E element); // 设置index位原创 2021-03-23 16:44:51 · 57 阅读 · 0 评论