2022-7-15 pan小堂 数组排序算法
二分查找(理解)
public ych class{
public static void main(String[] args){
///运用二分查找需要 数组在的值是递升的
int[] arr1 = new int[] {23,43,5,41,32,423,4,123,411};
//先递升排列 sort() 递升排列函数
Arrays.sort(arr1);
Scanner p1 = new Scanner(System.in);
System.out.println("请输入一个数字");
int num =p1.nextInt();
int l = 0 , r = arr1.length()-1;
int index=-1;
while(l<=r){
int mid = l+r+1>>1;
if(arr1[mid]==num){
index = mid;
break;
}else if(arr1[mid]<num){
l = mid+1;
}else{
r = mid-1;
}
}
if(index!=-1){
System.out.println("存在的值的下标为"+index +" 并且值为"+arr1[inde]);
}else{
System.out.println("值不存在");
}
}
}
}
二分查找和顺序查找的区别

冒泡排序

public class Ptz {
public static void main(String[] args) {
//冒泡排序 : 先头两个数先比较 然后大的数 与第三个数比较 大的数再与第4个数比较以此类推
int [] arr = new int [] {132,34,23,56,42,79,4,56,3};
for(int i = 0; i< arr.length-1;i++){//外层循环
for(int j ; j<arr.length-1-i;j++){//内层循环
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
a[j+1] =temp;
}
}
for( a : arr){
System.out.println(a);
}
}
}
选择排序

public class Ptz {
///首先选择排序是 通过一次循环 把最小(最大)的值放在数组的第一个
public static void main(String[] args) {
//思路:
//1.定义一个下标 变量 用来存储 第一个数
//2.外层的循环是用来控制(内层循环)每次比较得出最小值(最大值)的次数
//3.内层循环用来一个一个比得出最小值(最大值)
int [] ych =new int []{43,23,4,6,2,-1,42,4};
for(int i=0 ; i<ych.length-1;i++){
int index = i ; //存储 起始位下标
for(int j =i+1 ; j<ych.length;j++){//j=i+1 是经过交换选择后,起始位
if(ych[j]<ych[index]){
index=j; //交换得出最小值的下标
}
//交换值
int temp = ych[index];
ych[index] = ych[j];
ych[j]=temp;
}
}
System.out.println(Arrays.toString(ych));
}
}
插入排序(不是特别理解)

1.先看第一个数,将数组划分为有序和无序部分
2.无序部分的首个插入到有序部分
3.重复第2步直到无序部分全部插入有序
void InsertSort(int a[],int l)
{
int temp;
int j;
for(int i=1;i<l;i++)
{
if(a[i]<a[i-1])
{
temp=a[i];
for(j=i-1;j>=0&&temp<a[j];j--)
{
a[j+1]=a[j];
}
a[j+1]=temp;
}
for(int k=0;k<l;k++)
cout<<a[k]<<" ";
cout<<endl;
}
}
2022-7-15 pan小堂 数组排序算法的更多相关文章
- 2022-7-13 第五组 pan小堂 java基础
###java基础 1.java语言发展史和概述平台(了解) 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机 ...
- 2022-07-10 第五小组 pan小堂 css学习笔记
css学习笔记 什么是 CSS? CSS 指的是层叠样式表* (Cascading Style Sheets) CSS 描述了如何在屏幕.纸张或其他媒体上显示 HTML 元素 CSS 节省了大量工作. ...
- 2022-7-25 第七组 pan小堂 多态
多态 多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描 ...
- 2022-7-23 pan小堂 Object与Final
Object类 1.Object方法 public final native Class<?> getClass() 返回object运行时类 public native int hash ...
- 2022-7-21 第七组 pan小堂 继承与super与this
1.继承 1.1继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系. 1.2继承的格式 class 子类 ...
- 2022-7-20 第七组 pan小堂 String
字符串 String 字符串部分方法 字符串对象的特点: 1.Java程序中所有双引号引起来的内容,都是String类的对象 2.字符串内容不可变,它们的值在创建后不能被更改(在底层被final修饰, ...
- 2022-7-19 第五组 pan小堂 封装和 this
this关键字 this关键字由来和使用: A:this:代表所在类的对象引用方法被哪个对象调用,this就代表那个对象 B:什么时候使用this呢 ? 局部变量和成员变量重名 set 和 get 方 ...
- 2022-7-16 第五组 pan小堂 基础语法
思维导图 一维数组 数组是存储多个变量(元素)的东西(容器) 这多个变量的数据类型要一致 数组既可以存储基本数据类型,也可以存储引用数据类型. 1.数组定义的格式: 格式1:数据类型[] 数组名; 格 ...
- 2022-7-11第五组 pan小堂 js基础
##为何学习 JavaScript? ###JavaScript 是 web 开发者必学的三种语言之一: HTML 定义网页的内容 CSS 规定网页的布局 JavaScript 对网页行为进行编程 在 ...
随机推荐
- srpingboot拦截器
1.创建一个普通的web工程. 2.先创建需要的基础文件,比如一个用户类. package com.example.mode; public class User { private Integer ...
- Go 项目配置文件的定义和读取
前言 我们在写应用时,基本都会用到配置文件,从各种 shell 到 nginx 等,都有自己的配置文件.虽然这没有太多难度,但是配置项一般相对比较繁杂,解析.校验也会比较麻烦.本文就给大家讲讲我们是怎 ...
- Fluent-Validator 业务校验器
Fluent-Validator 业务校验器 背景 在互联网行业中,基于Java开发的业务类系统,不管是服务端还是客户端,业务逻辑代码的更新往往是非常频繁的,这源于功能的快速迭代特性.在一般公司内部, ...
- form表单与css选择器
目录 form表单 action属性 input标签 lable标签 select标签 textarea标签 补充 网络请求方式 CSS简介 CSS基本选择器 组合选择器 属性选择器 分组与嵌套 伪类 ...
- Java开发学习(二)----IOC、DI入门案例
一.IOC入门案例 1.1 思路分析 (1)Spring是使用容器来管理bean对象的,那么管什么? 主要管理项目中所使用到的类对象,比如(Service和Dao) (2)如何将被管理的对象告知IOC ...
- 浅谈倍增法求解LCA
Luogu P3379 最近公共祖先 原题展现 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入格式 第一行包含三个正整数 \(N,M,S\),分别表示树的结点个数.询问 ...
- BUUCTF-九连环
九连环 这题还是稍微有点难度的 使用16进制打开发现压缩包,用binwalk分离看看 分离得到的压缩包同样16进制看看 可以发现多个压缩包,这种情况应该是伪加密的方式,但是直接使用修复压缩包的方式没法 ...
- 关于vue打包上线遇到的坑
打包上线经常会经常遇到路径找不到,页面空白,那么下面我们就解决一下. 第一步.先找到config目录的index.js 改成如上图红框标注所示 第二步.找到build下的utils.js文件 加上如上 ...
- mybatis查询mysql 数据库中 BLOB字段,结果出现乱码
起因 mybatis-plus 通过Mapper 查询数据,映射出来的BLOB字段中的yml数据中文是乱码的 --- DefaultValue: '' Formula: '' HintContent: ...
- SpringBoot整合RocketMQ
1.RocketMQ的下载与配置 到官网选择想要的版本下载即可,https://rocketmq.apache.org/release_notes/ 下载速度会比较慢,这里提供目前最新版本4.9.3的 ...