二分查找(理解)

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小堂 数组排序算法的更多相关文章

  1. 2022-7-13 第五组 pan小堂 java基础

    ###java基础 1.java语言发展史和概述平台(了解) 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机 ...

  2. 2022-07-10 第五小组 pan小堂 css学习笔记

    css学习笔记 什么是 CSS? CSS 指的是层叠样式表* (Cascading Style Sheets) CSS 描述了如何在屏幕.纸张或其他媒体上显示 HTML 元素 CSS 节省了大量工作. ...

  3. 2022-7-25 第七组 pan小堂 多态

    多态 多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描 ...

  4. 2022-7-23 pan小堂 Object与Final

    Object类 1.Object方法 public final native Class<?> getClass() 返回object运行时类 public native int hash ...

  5. 2022-7-21 第七组 pan小堂 继承与super与this

    1.继承 1.1继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系. 1.2继承的格式 class 子类 ...

  6. 2022-7-20 第七组 pan小堂 String

    字符串 String 字符串部分方法 字符串对象的特点: 1.Java程序中所有双引号引起来的内容,都是String类的对象 2.字符串内容不可变,它们的值在创建后不能被更改(在底层被final修饰, ...

  7. 2022-7-19 第五组 pan小堂 封装和 this

    this关键字 this关键字由来和使用: A:this:代表所在类的对象引用方法被哪个对象调用,this就代表那个对象 B:什么时候使用this呢 ? 局部变量和成员变量重名 set 和 get 方 ...

  8. 2022-7-16 第五组 pan小堂 基础语法

    思维导图 一维数组 数组是存储多个变量(元素)的东西(容器) 这多个变量的数据类型要一致 数组既可以存储基本数据类型,也可以存储引用数据类型. 1.数组定义的格式: 格式1:数据类型[] 数组名; 格 ...

  9. 2022-7-11第五组 pan小堂 js基础

    ##为何学习 JavaScript? ###JavaScript 是 web 开发者必学的三种语言之一: HTML 定义网页的内容 CSS 规定网页的布局 JavaScript 对网页行为进行编程 在 ...

随机推荐

  1. JS/JQ动画效果

    1.弹出框 <style> .mask { position: fixed; display: none; width: 100%; height: 100%; top: 0; left: ...

  2. Invocation failed Unexpected end of file from server java.lang.RuntimeException: Invocation failed Unexpected end of file from server

    Android studio 提交 push的时候报错. Invocation failed Unexpected end of file from serverjava.lang.RuntimeEx ...

  3. python 通过线上API查询ip归属地

    API为国外API,频率限制1分钟45个ip 脚本如下 1 #!/usr/bin/env python3 2 #-*-coding:utf-8-*- 3 4 import requests,re,js ...

  4. MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中

    union 会删除重复数据 union all 不会删除重复数据 select * from ( select *,'a' as kind from tablea where name is not ...

  5. 『忘了再学』Shell基础 — 14、环境变量(二)

    目录 1.PS1变量的作用 2.PS1变量的查看 2.PS1可以支持的选项 3.PS1环境变量的配置 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自 ...

  6. 513. Find Bottom Left Tree Value - LeetCode

    Question 513. Find Bottom Left Tree Value Solution 题目大意: 给一个二叉树,求最底层,最左侧节点的值 思路: 按层遍历二叉树,每一层第一个被访问的节 ...

  7. Android——RelativeLayout

    代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android= ...

  8. Fail2ban 命令详解 fail2ban-server

    Fail2ban的服务端操作命令,用于启动一个Fail2ban服务. root@local:~# fail2ban-server --help Usage: /usr/bin/fail2ban-ser ...

  9. MVC 调试页面路径变成 Views/Controller/Action.cshtml问题

    MVC在路由里面已经写好了路径,但是调试时地址栏还是会变成 Views/Controller/Action.cshtml,导致报404错误,找不到路径. 原因可能是你将某一页面设为了起始页,导致每次运 ...

  10. 爷青回,canal 1.1.6来了,几个重要特性和bug修复

    刚刚在群里看到消息说,时隔一年,canal 1.1.6正式release了,赶紧上去看看有什么新特性. (居然才发布了6个小时,前排围观) 1.什么是canal canal [kə'næl],译意为水 ...