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 对网页行为进行编程 在 ...
随机推荐
- 面试官:ElasticSearch是什么,它有什么特性与使用场景?
哈喽!大家好,我是小奇,一位热爱分享的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 书接上回,我本以为我跟面试我的 ...
- 【算法】堆排序(Heap Sort)(七)
堆排序(Heap Sort) 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法.堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父 ...
- 每天一个 HTTP 状态码 201
201 Created 201 Created 表示客户端的请求已经成功完成,结果是创建了一个新资源,通常用于响应「增删改查」里的「增」.如果是严格按照 RESEful style 的 API,那么当 ...
- README.exe 是的,你看错是EXE
SmartIDE让你的README变成可执行文档,再也不用编写无用的文档,再也不必操心环境问题. 作为开发者,拿到一个新的代码库的时候一般都会先去看README文件,通过这个文件可以知道这套代码所 ...
- 深度学习与CV教程(6) | 神经网络训练技巧 (上)
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- 如何为Java面试准备项目经验
1 提出问题 应届生朋友或Java程序员在找Java方面的工作时,一定会需要准备Java项目经验,但事实上不少求职者,是没有项目经验,或者只具有开源社区等的学习项目经验,这样的话,就很有可能在面试时无 ...
- 聊聊 C# 中的多态底层 (虚方法调用) 是怎么玩的
最近在看 C++ 的虚方法调用实现原理,大概就是说在 class 的首位置存放着一个指向 vtable array 指针数组 的指针,而 vtable array 中的每一个指针元素指向的就是各自的 ...
- 计算机网络 - HTTP和HTTPS的区别
计算机网络 - HTTP和HTTPS的区别 http所有传输的内容都是明文,并且客户端和服务器端都无法验证对方的身份. https具有安全性的ssl加密传输协议,加密采用对称加密. https协议需要 ...
- iphone苹果手机拼健康码行程码教程
因为疫情原因,不管是上班,还是上学,各公司和学校都要求提供全家人的健康码和行程码,并弄成一张拼图,这样方便统计!这就苦了广大用苹果手机的朋友们了,因为苹果手机没有自带的拼图软件. 下面我就教大家一个非 ...
- camunda开源流程引擎的数据库表结构介绍
Camunda bpm流程引擎的数据库由多个表组成,表名都以ACT开头,第二部分是说明表用途的两字符标识.本文以Camunda7.11版本为例,共47张表. ACT_RE_*: 'RE'表示流程资源存 ...