1.数组的复制

 //复制算法,将arr1数组的值复制给arr2数组
import java.util.Arrays;
public class Test1{
public static void main(String[] args){
int[] arr1={88,99,66,55};
int[] arr2=new int[arr1.length]; for(int i=0;i<arr1.length;i++){
arr2[i]=arr1[i];
}
System.out.println("数组arr2的值:");
for(int i=0;i<arr1.length;i++){
System.out.println(arr2[i]);
} }
}

2.查找算法(搜索)

 import java.util.Scanner;
import java.util.Arrays;
public class Test1{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入你要查询的名字:");
String n=in.next();
String[] name={"张三","李四","王二","小明"};
boolean flag=false;//标记 for(int i=0;i<name.length;i++){
if(n.equals(name[i])){
flag=true;
break;
}
}
if(flag==true){
System.out.println("搜到了");
}else{
System.out.println("该名字不存在");
} }
}

3.插入算法

 /*插入算法
23,32,57,78,98,100从小到大排列,此时在100的位置插入25,顺序就变了,此时就需要进行判断
*/
import java.util.Scanner; public class Test1{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int[] arr={23,32,57,78,98,100};
System.out.println("请输入你要插入的数字:");
int num=in.nextInt();
arr[arr.length-1]=num;
for(int i=arr.length-1;i>0;i--){
if(arr[i]<arr[i-1]){
int temp=arr[i];
arr[i]=arr[i-1];
arr[i-1]=temp;
}else{
break;
}
} for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
} }
}

4.冒泡排序(选出老大后,后面的还要来和老大比)

 //冒泡排序
import java.util.Arrays;
public class Test1{
public static void main(String[] args){
int[] num={65,23,56,12,88,3,5,13,109};
//从小到大排序
for(int j=0;j<num.length-1;j++){
for(int i=0;i<num.length-1;i++){
if(num[i]>num[i+1]){
int temp=num[i];
num[i]=num[i+1];
num[i+1]=temp;
}
}
} for(int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}

5.选择排序(选出老大后,老大就可以休息了,不比了,后面以此类推)  比冒泡排序效率更高

 //选择排序
import java.util.Arrays;
public class Test1{
public static void main(String[] args){
//从小到大排序
int[] num={65,23,56,12};
for(int i=0;i<num.length-1;i++){
for(int j=i+1;j<num.length;j++){ //j<4
if(num[i]>num[j]){
int temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
for(int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}

Java基础13-数组算法的更多相关文章

  1. Java基础13:反射与注解详解

    Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...

  2. 【java基础 13】两种方法判断hashmap中是否形成环形链表

    导读:额,我介绍的这两种方法,有点蠢啊,小打小闹的那种,后来我查了查资料,别人都起了好高大上的名字,不过,本篇博客,我还是用何下下的风格来写.两种方法,一种是丢手绢法,另外一种,是迷路法. 这两种方法 ...

  3. Java基础-反转数组

    /** java基础,如何将一个数组反转,思考方法采用使用临时变量的情况下,将第一个元素与第二个元素进行反转,需要定义两个索引,一个记录数组的第一个元素与最后一个元素,将其两两交换* */public ...

  4. Java基础之 数组详解

    前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...

  5. java基础(十) 数组类型

    1. 数组类简介   在java中,数组也是一种引用类型,即是一种类. 我们来看一个例子,理解一下数组类: public static void main(String[] args) { Class ...

  6. Java基础13一异常

    1.异常概念 异常是程序在运行期发生的不正常的事件,它会打断指令的正常执行流程. 设计良好的程序应该在异常发生时提供处理这些不正常事件的方法,使程序不会因为异常的发生而阻断或产生不可预见的结果. Ja ...

  7. java 基础概念 -- 数组与内存控制

    问题1: Java在声明数组的过程中,是怎样分配内存的? 在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象.至于详细的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化. ...

  8. Java基础:数组的声明,循环,赋值,拷贝。

    数组的声明 一般有两种形式的声明: int[] a; int a[]; 这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号. 声明一个数组,并没有将a真正的初始化为一个数组 ...

  9. java 基础知识-数组的7种算法(排序、求和、最值、遍历...)

    遍历 遍历就是把这个数组的每个元素 显示出来 遍历的方法就是先定义这个数组的大小,然后用FOR循环来完成数组,例如 double[] score = new double[5]; Scanner in ...

  10. 【Java基础】数组和算法

    数组和算法 查找算法 线性查找 ... 二分查找 二分查找要求数据结构是有序的. package com.parzulpan.java.ch03; /** * @Author : parzulpan ...

随机推荐

  1. clions的使用

    最近无聊玩了下CLion这个IDE,顺便学习了下CMAKE怎么使用.话说CLion的CMAKE的支持还不是特别的完好,和命令行模式还有有区别,有如下几个问题: 1:CMAKE的编译目录不能指定,而是I ...

  2. 2019年第十届蓝桥杯省赛总结(JavaA组)

    //update3.28:省一rank4,莫名进了国赛好神奇.. 记yzm10第一次体验A组(纯粹瞎水). 早闻山东的JavaA组神仙打架,进国赛都成了奢望(往年只有五个名额),因此抱着做分母的心态来 ...

  3. javax.servlet.ServletConfig接口(五)

    主要作用是保存web.xml文件里面的配置信息 一个servlet对应一个ServletConfig,100个servlet对应100个ServletConfig.   代码如下(单个获取和获取所有) ...

  4. Java50道经典习题-程序27 求素数

    题目:求100之内的素数分析:素数即除了1和它本身以外不再有其他因数,最小的素数是2 判断一个数n是否是素数的方法:将n分别与2到(n+1)/2取余,若有一个值为0,则n就不为素数,反之为素数 pub ...

  5. 洛谷P3258 [JLOI2014]松鼠的新家(树上差分+树剖)

    题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在”树“上. 松鼠想邀请小熊维尼前 ...

  6. 最短路+状压DP【洛谷P3489】 [POI2009]WIE-Hexer

    P3489 [POI2009]WIE-Hexer 大陆上有n个村庄,m条双向道路,p种怪物,k个铁匠,每个铁匠会居住在一个村庄里,你到了那个村庄后可以让他给你打造剑,每个铁匠打造的剑都可以对付一些特定 ...

  7. springboot整合dubbo注解方式

    工程结构: 主pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...

  8. Long类型比较不能直接用等于

    在判断两个Long型数据是否相等的时候遇到了一个问题. 使用“==”的疑问 if (user.getId() == admin.getId()) { return true; } else { ret ...

  9. 最长上升子序列问题(O(n^2)算法)

    [题目描述] 给定N个数,求这N个数的最长上升子序列的长度. [样例输入] 7 2 5 3 4 1 7 6 [样例输出] 4 什么是最长上升子序列? 就是给你一个序列,请你在其中求出一段不断严格上升的 ...

  10. whl is not a supported wheel on this platform解决办法

    有些时候,我们用pip install *** 难免发生意外,可以采用安装whl的方法,不过... 有时候出现如: whl is not a supported wheel on this platf ...