![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
语胡言胡
这个作者很懒,什么都没留下…
展开
-
数据结构复习-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 · 71 阅读 · 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 · 64 阅读 · 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 · 72 阅读 · 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 · 64 阅读 · 0 评论 -
数据结构复习整理-02链表
链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表接口package com.gc;public interface List<E> { static final int ELEMENT_NOT_FOUND = -1; /** * 清除所有元素 */ void clear(); /** * 元素的数量原创 2021-03-23 20:46:30 · 57 阅读 · 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 · 80 阅读 · 0 评论