Java修炼——插入排列,选择排列】的更多相关文章

话不多说,直接上代码: package com.bjsxt.Array; import java.util.Arrays; public class TestSort { //选择排序 //插入排列 public static void main(String[] args) { int [] arr= {12,45,78,89,56,23,16,48,762}; TestSort.selectSort(arr); TestSort.insertSort(arr); } public stati…
java 基础排序(冒泡.插入.选择.快速)算法回顾 冒泡排序 private static void bubbleSort(int[] array) { int temp; for (int i = 0; i < array.length; i++) { for (int j = 0; j < array.length - i - 1; j++) { if (array[j] > array[j + 1]) { temp = array[j]; array[j] = array[j +…
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User(); user.setUserName("chenzhou"); user.setPassword("xxxx"); user.setComment("测试插入数据返回主键功能"); System.out.println("插入前主键为:…
//批量添加20000条数据用时8秒. try {    String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SID    String user = "oracle";    String password = "oracle";    StringBuffer sql = new StringBuffer();    sql.append("insert into e…
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分,张浩就能获得一个 MP4 作为奖励 使用 if 选择结构 可以解决 . if 选择结构是根据条件判断之后 再做处理 语法: 基本的 if 选择结构 if (条件){//代码块 // 结果必须是boolean 类型 } // 只有一条语句时,建议不省略 结合问题: if (张浩的 java 考试成绩>…
上次的博文中Java修炼 之 基础篇(一)Java语言特性我们介绍了一下Java语言的几个特性,今天我们介绍一下Java语言的构成.        所谓的Java构成,主要是指Java运行环境的组成,从外围到核心依次是Java开发工具包JDK(Java Develop Tookit).Java运行时环境JRE(Java Runtime Environment).Java虚拟机JVM(Java Vitual Machine). JDK JDK主要提供了一些用Java语言开发的组件(javac.ex…
一.理解说明 1.理解和记忆 冒泡排序:依次定位数组元素,每次只和相邻的且符合条件的元素交换位置. 选择排序:依次在数组的每个位置,通过逐个对比选择出最大或最小的元素. 2.知识点说明 (1)数组是引用类型. 当方法参数是基本数据类型时,形参值发生改变并不影响实参值. 当方法参数是引用类型时,实际传递的是引用类型的地址.将实参的地址传递给形参,这时它们指向的是相同的地址,那么当形参改变时,其实形参也改变了. 举个栗子:引用类型是数组,此时在方法中对形参数组进行排序,那么尽管方法没有返回值,实参数…
今天起,我会不定期更新我的java修炼之路, 2017.7.10,星期一 我参见了河南青云的培训班,这一天是我们的开班典礼. 我会不定期的总结我的学习笔记,大家喜欢的可以看看,不喜勿喷. 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3 3,确定步骤.每一个思路部分用到那些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来.   学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意) 3,该技术怎么使用.demo 4,该技术什么…
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对switch结构进行总结 案例演示switch结构 程序代码: 下图中的代码没有格式缩进,如何解决? 在eclipse的代码编辑区,右击,source→format 代码就完成格式缩进了,看起来清爽很多 执行程序,会发现有问题: 发现输入4,包括周四之后的所有语句都输出了. 原因何在? 答案很简单,没有…
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种: if和if-else结构 switch结构 选择结构中if-else和switch的区别 if和switch最主要的区别,就是判断条件的区别. switch结构的语法 下图结构需要熟记: switch结构大体的执行流程如下:计算switch后的表达式的值,计算后的结果与case后的常量表达式进行…
036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构:其实就是将一个if或if-else语句嵌套到另一个if块当中. 光说没用,不太好理解,直接上语法格式和代码. 语法格式: 案例练习 程序代码及其运行结果: 需要注意的问题:if和else的对应问题 如果没有大括号的情况下,else会和离它自己最近的if进行匹配. 知识点及程序详解: public…
035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条件必须用小括号括起来 2.并且条件的结果必须是一个布尔值 3.小括号后面不要随意加分号(Java程序中,分号是一条语句的结束标志)如果在if的条件括号后面加了分号,就说明条件后是一条空语句,即相当于if条件后什么都没做,所以不要轻易加分号. 尤其是在后面讲循环结构的时候,如果在循环结构的条件后加分号…
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序结构 什么叫顺序结构? 我们在学习if-else结构之前,我们所写的所有的代码都是放到主方法(main)方法中的,主方法中的代码都是依次执行的(也即一句一句执行的),这种依次执行的语句结构就叫做顺序结构. 顺序结构代码示例: 选择结构 什么叫选择结构? 就是我们之前学习的"if-else"…
本文就是介绍一些常见的排序算法.排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序.选择排序.冒泡排序.快速排序(重点).堆排序.归并排序等等.看下图: 给定数组:int data[] = {9,2,7,19,100,97,63,208,55,78} , , , , , , , , ,  }; public static void insertSort() { int tmp, j = ; for…
排序需要掌握的有冒泡排序,插入排序和选择排序.时间为O(N*N). 冒泡排序: 外层循环从后往前,内存循环从前往后到外层循环,相邻数组项两两比较,将较大的值后移. 插入排序: 从排序过程的中间开始(程序从第二个数组项开始a[1]),此时队列已经拍好了一部分.此时,将后边的数组项一次插入到已经排好序的部分队列中. 选择排序: 从第一个数组项开始,找到包括该数组项在内的所有往后数组项中的最小项与当前项进行交换,其实相当于依次将最小值往前冒泡. 示例代码: package chap03.BubbleS…
方法一:实现Comparable接口排序package collsort.comparable; package com.cvicse.sort.comparable; public class Cat implements Comparable<Cat> {private int age;private String name; public Cat(int age, String name) {this.age = age;this.name = name;} public int get…
今天笔试,遇到一个问题,大意就是输入一行字符,例如a b c ,按从小到大的顺序输出它们排列而成的字符串,输出就是abc acb bac bca cba cab.求这个程序怎么实现. 其实这个题很简单,主要涉及到两个知识点:一个就是字符之间的排列:另外一个就是它们的排序. 可以这样想:固定第一个字符a,求后面两个字符bc的排列.当两个字符bc的排列求好之后,我们把第一个字符a和后面的b交换,得到bac;接着我们固定第一个字符b,求后面两个字符ac的排列.现在是把c放到第一位置的时候了.记住前面我…
排序算法是数据结构中的经典算法知识点,也是笔试面试中经常考察的问题,平常学的不扎实笔试时候容易出洋相,回来恶补,尤其是碰到递归很可能被问到怎么用非递归实现... 内部排序: 插入排序:直接插入排序 选择排序:直接选择排序 交换排序:冒泡排序,改进的冒泡排序:快速排序,非递归实现快速排序 //堆排序:... //归并排序:... import java.util.Stack; public class SortTest { /** * 插入排序:假定指针所指数据之前的序列为有序,所要做的便是将之后…
这段时间在学Java,期间学到了一些排序和查找方法.特此写来和大家交流,也方便自己的日后查看与复习. 1.下边是Java的主类: public class Get { public static void main(String[] args) { int len=10; int[] a=new int[len]; for(int i=0;i<len;i++) { int t=(int)(Math.random()*10); a[i]=t; } //静态初始化数组 //int[] b=new i…
排列序数 如果用a b c d这4个字母组成一个串,有4!=24种,如果把它们排个序,每个串都对应一个序号: abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bacd 6 badc 7 bcad 8 bcda 9 bdac 10 bdca 11 cabd 12 cadb 13 cbad 14 cbda 15 cdab 16 cdba 17 - 现在有不多于10个两两不同的小写字母,给出它们组成的串,你能求出该串在所有排列中的序号吗? [输入格式] 一行,一个串…
解析: 一:非字典序(回溯法) 1)将第一个元素依次与所有元素进行交换: 2)交换后,可看作两部分:第一个元素及其后面的元素: 3)后面的元素又可以看作一个待排列的数组,递归,当剩余的部分只剩一个元素时,得到一个排列: 4)将第1步中交换的元素还原,再与下一个位元素交换. 重复以上4步骤,直到交换到最后一个元素.(剑指offer中也有例题讲解) 排除重复:在for循环中,从start开始,每次与当前的i位置元素交换,每次交换前, 需要判断start到i之间(不包括i)是否具有同i位置相同的元素,…
题目: Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending order). The repla…
/** * Created by wushuang on 2014/11/19. */ public class SortTest { @Test public void mainTest() { int[] arr = new int[]{1, 8, 3, 2, 5, 6, 100, 23, 30, 12, 90, 3265, 0}; //insertSort(arr); // selectionSort(arr); // popSort(arr); quickSort(arr, 1, arr…
标题:图书排列 将编号为1~10的10本书排放在书架上,要求编号相邻的书不能放在相邻的位置. 请计算一共有多少种不同的排列方案. 注意,需要提交的是一个整数,不要填写任何多余的内容. 9 9 10 9 9 9 9 9 9 10 7 7 9 7 package 第三次模拟; public class Demo3图书排列 { static int res=0; public static boolean check(int a[]) { int l=a.length; for(int i=0;i<l…
下面这个程序是先定义一个整型数组,然后将其中的元素反序赋值,再用冒泡排序进行排序以后用二分查找来查找其中是否有某个数,返回值为-1时表示这个数可能小于这个数组的最小值或大小这个数组的最大值,-2表示这个数比这个数组的最小值大,最大值小,但是数组中不包含这个数,代码如下: package com.jll.sort; public class ErFenSort {    static int[] unsorted;    static int[] sorted; //测试    public st…
我们知道Java容器类实际提供了四类接口:Map,List,Set和Queue,如下图所示,每种接口都有不止一个版本的实现,如果在实际编写程序时需要使用某种接口时该如何选择. 从Oracle的Java Language Best Practices 中的说明可以看到建议不要在新程序中使用HashTable,Vector,Stack使用HashMap,ArrayList和LinkedList来替换. ArrayList和LinkedList都实现了List接口,当ArrayList底层由数组实现,…
Collection  ├List │├LinkedList │├ArrayList │└Vector │└Stack ├Queue │├Deque │└LinkedList └Set   ├SortedSet   ├TreeSet  └HashSet Map ├Hashtable ├HashMap └WeakHashMap Collection接口  Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些 C…
LeetCode 912. 排序数组 给你一个整数数组 nums,请你将该数组升序排列. 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 提示: 1 <= nums.length <= 50000 -50000 <= nums[i] <= 50000 class Solution { public: vector<int> sortArray(ve…
我先说说数据库连接 数据库大家都不陌生,从名字就能看出来它是「存放数据的仓库」,那我们怎么去「仓库」取东西呢?当然需要钥匙啦!这就是我们的数据库用户名.密码了,然后我们就可以打开门去任意的存取东西了.这个时候,我们与数据库之间的连接就是「数据库连接」. 这个时候问题就来了,当我们仅仅只需要去取一个东西的时候,我们取完东西随手关上门,然后拔出钥匙,这完全是再正常不过的流程了,完全没毛病,但是,我们大部分时间是需要一件件的把仓库中的东西搬到外面停放的大卡车上,那这时候我们如果取一件东西把门锁上,然后…
1 package lsg.ap.select; import java.util.Random; public class SelectSort { //选择排序 /** *@author: 梁山广 * 2016年4月11日上午10:04:13 * @param a:需要尽行排序的数组 */ //选择排序 /* * 选择排序和冒泡排序差不多,只是冒泡排序在发现比它小的时候就交换,而选择排序是只 * 有在确定了最小的数据之后,才会发生交换.选择排序的基本思想:第i趟简单选择排序 * 是指通过n-…