二分查找(理解)

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. axios源码解析 - 请求方法的别名实现

    axios中的创建请求方式很多,比如axios(url),axios.get(url),axios.post(url),axios.delete(url),方便快捷的api设计让axios火得一塌糊涂 ...

  2. 105_Power Pivot财务科目(层级深度&筛选深度)

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 在财务科目中,需要按照科目层级来显示:在excel中都是用公式来实现,而且对于数据的管理及更新是一件头痛的事情, ...

  3. Vue基础之 动态组件

    为什么会有动态组件> vue 通过组件机制 实现的页面功能的模块化处理,通常情况下 我们在vue中使用组件  就是先定义组件 然后再需要的地方 插入组件即可 但是在某些情况下 需要根据不同的需求 ...

  4. 《Unix 网络编程》08:基本UDP套接字编程

    基本UDP套接字编程 系列文章导航:<Unix 网络编程>笔记 UDP 概述 流程图 recvfrom 和 sendto #include <sys/socket.h> ssi ...

  5. poj1475 -- Pushing Boxes

    这道题其实挺有趣 的,这让我想起小时候诺基亚手机上的推箱子游戏(虽然一点也不好玩) (英文不好-->)  题意翻译: 初始人(S),箱子(B),目的地(T)用人把箱子推到 T最小步数及其路径(满 ...

  6. Vben Admin 源码学习:项目初始化

    0x00 前言 Vue-Vben-Admin 是一个免费开源的中后台模版.使用了最新的vue3,vite2,TypeScript等主流技术开发,开箱即用的中后台前端解决方案考. 本系列本着学习参考的目 ...

  7. Java包机制和JavaDoc

    目录 包机制 JavaDoc 视频课程 包机制 包的本质就是文件夹 为了更好的组织类, Java提供了包机制, 用于区别类名的命名空间, 使项目看起来更加整洁 一般公司庸域名倒置作为包名 为了能够使用 ...

  8. 【SpringSecurity系列1】基于SpringSecurity实现前后端分离无状态Rest API的权限控制

    源码传送门: https://github.com/ningzuoxin/zxning-springsecurity-demos/tree/master/01-springsecurity-state ...

  9. 接口测试postman深度挖掘应用③--postman终结篇

    上一章节我们介绍了postman的变量测试以及导入数据测试基本上技术性的东西已经差不过了,这篇文章再系统性的介绍一下. 一.下载 官网:https://www.postman.com 1.选择需要下载 ...

  10. camunda如何调用HTTP REST(Service Task)服务节点

    ​ Camunda中的Service Task(服务任务)用于调用服务.在Camunda中,可以通过调用本地Java代码.外部工作项.web服务形式实现的逻辑来完成的. 本文重点描述如何使用web服务 ...