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. WinForm(C#)相关知识和经验的碎片化记录

    1.引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常 出现"System.Windows.Forms.Ax ...

  2. 数据结构_Summary

    问题描述 可怜的 Bibi 丢了好几台手机以后,看谁都像是小偷,他已经在小本本上记下了他认为的各个地点的小偷数量.现在我们将 Bibi 的家附近的地形抽象成一棵有根树. 每个地点都是树上的一个节点,节 ...

  3. sqlserver 时间差转换为天时分秒

    DECLARE @starttime DATETIME = '2016-12-01' , @endtime DATETIME = '2016-12-02 14:56:39.927'; DECLARE ...

  4. metasploit 读书笔记-信息收集

    三、信息收集 被动信息收集 在不接触目标系统时进行的信息收集,包括使用工具Yeti、Whois (1)Whois msf > whois secmaniac.net (2)Netcraft:fi ...

  5. linux配置环境变量 - 认识

    环境 ubuntu17.04 终端(就是黑框) 认识  环境变量:$PATH 在 ×××/bin 下的命令,可以不用到指定目录下, 比如:安装hbase后,hbase提供一些shell命令在habse ...

  6. A - Chips

    Gerald plays the following game. He has a checkered field of size n × n cells, where m various cells ...

  7. 洛谷P2900 [USACO08MAR]土地征用Land Acquisition(斜率优化)

    题意 约翰准备扩大他的农场,眼前他正在考虑购买N块长方形的土地.如果约翰单买一块土 地,价格就是土地的面积.但他可以选择并购一组土地,并购的价格为这些土地中最大的长 乘以最大的宽.比如约翰并购一块3 ...

  8. 2019.2.10考试T2, 多项式求exp+生成函数

    \(\color{#0066ff}{ 题目描述 }\) 为了减小文件大小,这里不写一堆题目背景了. 请写一个程序,输入一个数字N,输出N个点的森林的数量.点有标号. 森林是一种无向图,要求图中不能存在 ...

  9. vue.js路由学习笔记

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. 3. mybatis # 与 $ 的区别

    mybatis # 与 $ 的区别 1.# % 号必须写在test中 应用场景:模糊查询 配置文档mapper.xml <select id="selectBlogByTitle&qu ...