算法
文章平均质量分 79
机智的豆子
现在学习编程还在挣扎阶段,需要有恒心才能坚持下来。
展开
-
两两交换链表节点24
方法一:迭代我们把链表分为两部分,即奇数节点为一部分,偶数节点为一部分,A 指的是交换节点中的前面的节点,B 指的是要交换节点中的后面的节点。在完成它们的交换,我们还得用 prevNode 记录 A 的前驱节点。算法:1.firstNode(即 A) 和 secondNode(即 B) 分别遍历偶数节点和奇数节点,即两步看作一步。2.交换两个节点: firstNode.next = secondNode.next secondNode.next = firstNode3.还需要更新 prev原创 2020-06-29 23:16:37 · 321 阅读 · 0 评论 -
数组的实现
数组/** * @author Administrator */public class Array { /** * 定义整型数据data保存数据 */ public int[] data; /** * 数组容量 */ public int capacity; /** * 数组中元素个数 */ public int count; public Array(int capacit原创 2020-05-13 23:43:31 · 313 阅读 · 0 评论 -
Java-两次MD5加密
两次加密加密的是什么?第一次客户端加密(前端加密)第二次服务端加密(后端加密)第一次客户端加密方式:明文+固定盐值第二次服务端:第一次前端传过来的密码+随机盐值项目里面模拟的是登录查询的过程整个过程分析如下:首先,第一次用户注册的时候输入框输入明文,然后前端再加固定盐值,第二次前端传过来第一次加密的+后端随机生成的盐值,该盐值要存入数据库查询的时候,第一次客户端明文+固定盐值,传入后...原创 2020-01-18 23:39:27 · 1023 阅读 · 0 评论 -
冒泡排序、选择排序和插入排序的区别
这三种排序的时间级别: 冒泡排序:比较 (N-1)+(N-2)+...+2+1 = N*(N-1)/2=N2/2 交换 0——N2/2 = N2/4 总时间 3/4*N2 选择排序:比较 (N-1)+(N-2)+...+2+1 = N*(N-1)/2=N2/2 交换 0——3*(N-1)=3*(N-1)/2=3/2*N 总时间 N2/2+3/...原创 2018-07-04 11:28:04 · 21264 阅读 · 4 评论 -
栈和队列
栈:先进后出,这个就比较类似上弹夹,先装进去的子弹,在后面才能被打出去栈实现的实例:/** * 栈的定义是先进后出,类似压弹夹 */public class MyStack { public static void main(String[] args) { MyStack ms = new MyStack(5); ms.push(23); ms.push(15); ms.push(46)...原创 2018-07-04 21:57:42 · 161 阅读 · 0 评论 -
JAVA版数据结构(数组)
1.了解java中的数组?定义: 数组是指一组数据的集合,数组中的每个数据称为元素。在Java中,数组也是Java对象。数组中的元素可以是任意类型(包括基本类型和引用类型),但同一个数组里只能存放类型相同的元素。创建数组大致包括如下步骤: 1.声明一个数组类型的引用变量,简称为数组变量; 2.用new语句构造数组的实例。new语句为数组分配内存,并且为数组中的每个元素赋予默认值; 3...原创 2018-07-02 21:18:18 · 240 阅读 · 0 评论 -
链表
//定义结点,结点分为数据域和指针域两部分public class Node { // 数据域 public int data; // 指针域 public Node next; public Node(int value) { this.data = value; } public void display() { System.out.println(data + " "); }}/** ...原创 2018-07-05 15:42:12 · 139 阅读 · 0 评论