- 博客(21)
- 收藏
- 关注
原创 排序-JAVA
排序 排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 常见排序算法:插入排序(直接插入排序、希尔排序) 选择排序(选择排序、堆排序) 交换排序(冒泡排序、) 归并排序(归并排序) 直接插入排序【插入排序,初始数据越接近有序,时间效率越高。】 整个区间被分为 有序区间和无序区间每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入。 public stat...
2019-09-26 18:33:50
162
原创 数据结构 栈基础操作的Java实现
栈:只能一头插入,一头删除 先进后出 first in last out(FILO) 后进先出 last in first out(LIFO) 队列:在一头插入,另一头删除 先进先出 first in first out(FIFO) 双端队列 可以再任意两头进入 存int类型 Class stack{ //属性 //存数据的空间 Int[]array; //当前栈内元素个数 Int...
2019-07-29 16:28:26
231
原创 Java基础知识
1.程序结构 1)顺序结构 2)分支结构 3)循环结构 for( )||while( )||do{} while( ); 4)子过程结构(方法) 用语句(Statement)组织,用分号结尾的表达式或方法调用 所有的语句【初始化语句可以】都要出现在方法(和静态)/构造块 eg:class{ Int a=10; Int b=20; System.out.println(a+b);} 语句出现在...
2019-07-29 16:06:04
171
原创 返回链表的倒数第K个结点
//方法一: public class Solution { public ListNode FindKthToTail(ListNode head,int k) { int len = 0; for (ListNode c = head; c != null; c = c.next) { len++; } ...
2019-07-26 16:11:36
258
原创 删除链表中的重复值并且不保留重复的那个值的值
问题描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,且重复结点不保留,返回链表的头指针。 问题举例:1–2--3–3--3–4--4–5处理后为:1–2--5 **思路分析:**定义引用,在无重复值的情况下,两指针联动向后走,遇到相等的值,前一个指针p向后,后一个指q针不动,在用另一个指针x记录q的前驱 代码实现 public class Solution { publ...
2019-07-26 16:00:37
141
原创 返回链表中间结点值
问题描述:返回已知链表的中间结点 eg:链表元素为奇数个:1–2--3–4--5 //out:3 链表元素为偶数个:1–2--3–4--5–6 //out:4 方法一: 思路:遍历整个链表(定义计数器len) len/2为中间位置 再次遍历到mid=len位置返回中间结点数据 代码: class Solution { private int getLength(ListNode hea...
2019-07-26 15:48:29
416
原创 一个链表以X为基础值,大于X放在链表前边,小于X放在链表后边,且不改变结点在原来链表中的先后顺序
问题描述:编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的节点的前边,保持原来的数据顺序不变。 举例说明: 假设有原链表:3–1--2–4--5–7--3–8--4–9 规定基准值x=4 处理过后的结果链表:3–1--2–4--3–4--5–7--8–9 思路分析:创建两个新链表(进行尾插) 可能出现其中一个链表不存在的情况(没有比基准小的结点,或者全都是小于基准的...
2019-07-26 15:34:15
495
原创 删除链表中的重复值
//方法一:两个引用在原链表上进行操作 class Solution { public ListNode removeElements(ListNode head, int val) { ListNode prev = null; ListNode cur = head; while (cur != null) { ...
2019-07-26 15:13:44
243
原创 将两个有序链表合成一个
问题描述: 有序链表一:12579 有序链表二:2348 最后结果:122345789 给出下列三种方法: 法一: class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if (l1 == null) return l2; if (l2 == null) retu...
2019-07-26 15:09:20
204
原创 链表基础
class Node { int val; Node next = null; Node(int val) { this.val = val; } public String toString() { return String.format("Node(%d)", val); } } class Solutio...
2019-07-26 14:52:28
90
原创 删掉顺序中的重复值&时间空间优化
public void removeAll(int element) { // 时间:O(n^2) 时间:O(1) int index; while ((index = indexOf(element)) != -1) { earse(index); } // 时间: O(n) 空间: O(n) int[] newArray = new int[array...
2019-07-24 15:55:15
121
原创 逆置链表 Java
例: 1–>2–>3–>4–>5–>null 5–>4–>3–>2–>1–>null 思路:1 2 3 4 5 null 2 1 3 4 5 null 3 2 1 4 5 null 4 3 2 1 5 null 5 4 3 2 1 null class Solution { pub...
2019-07-24 15:40:20
231
原创 链表的插入、删除、遍历JAVA实现
链表的基本操作,头插、尾插、头删、尾删、遍历 链表:逻辑上右前后关系物理上不保证前后关系(指针变为引用) 基本形式:1(head)–>2–>3–>4–>5–>null 插入操作:尾插&头插 **头插:**1.如果要插入的数据没有节点,先跟他装入一个节点中 Node node=new Node(); node.value=0; 2.让原来的首节点成为新节点的下一...
2019-07-24 15:27:03
252
原创 数组容量及扩容问题(Java数据结构)
数组容量及扩容问题: public class Test { public static void insert(int index, int element, int[] array, int size) { if (index < 0 || index > size) { System.err.println("下标错误"); return; } f...
2019-07-23 15:59:02
765
原创 数据结构-顺序表JAVA
顺序表:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删改查 顺序表一般分为静态顺序表和动态顺序表 顺序表基本操作JAVA实现 // 顺序表的元素类型 int public class MyArrayList { // 属性是什么 private int[] array; // 代表的是存在数据的数组 // array.leng...
2019-07-23 15:34:15
267
原创 数组操作(排序、平均值、偶置前奇置后)
import java.util.Arrays; public class Qiao{ public static void swap(int [] a,int i,int j) { int t=a[i]; a[i]=a[j]; a[j]=t; } public static void bubbleSort(int[] a){ for(int i=0;i<a.length;i++){ ...
2019-07-19 16:28:36
210
原创 数组基础操作的JAVA实现
数组:(引用类型的变量) 定义语法:int[] a; int a[]; 赋值:int[] a={1,2,3,4,5}; Int[] a=new int[5]; //默认值 //0的类型含义 如果元素没有初始化,元素的值就是元素类型默认值 Int[] a=new int []{1,2,3,4,5}; 四种变量: 形参 (栈) int [] a=null; 局部变量 ...
2019-07-18 16:23:18
231
原创 JAVA实现乘法口诀表
public class Java0717{ public static void main(String[] args){ int i,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ System.out.print(j+""+i+"="+ij+" “); //System.out.println(”\t"); } System.out.print...
2019-07-17 15:54:24
239
原创 JAVA逻辑控制和方法使用
一、逻辑执行过程: 1)顺序执行 2)条件执行 1.if(布尔类型条件)else{ } if(条件){ } else{ } if(条件1){ }else if(条件2){ }else{ } 2.Switch(数字、枚举、字符串){ Case 分支一;break; Case 分之二;break; Default;} 3)循环执行 1.while(条件){ } 2.do{ 语句} while(条...
2019-07-17 15:35:28
279
原创 JAVA基础
JAVA基础 7.16(总结) 1.计算机体系结构 2.环境变量 3.源代码 经过javac -encoding UTF8 Helloworld.java生成Helloworld.class 4.变量定义 5.类型,数值、字符、布尔;引用类型 6.变量名规则规范 7.字面量 8.赋值过程类型转换,小给大隐式转换,大改小强制类型转换 9.运算符 10.赋值的模型 11.System.out.prin...
2019-07-17 15:33:46
128
原创 三子棋的编程实现
,@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来...
2019-04-17 19:57:20
454
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅