博舍

排序算法练习题 冒泡算法例题

排序算法练习题

MyBatis学习记录

CSDN-Ada助手:感谢分享您的MyBatis学习记录!非常鼓舞人心!希望您可以继续分享您的技术心得,为大家提供更多有价值的技术资料。建议您可以写一篇关于SpringBoot整合MyBatis的博客,分享您在实践中遇到的问题和解决方案,以及对于整合后项目性能的优化经验。期待您的下一篇精彩的博客!2023年博客之星「城市赛道」年中评选已开启(https://activity.csdn.net/creatActivity?id=10470&utm_source=blog_comment_city),博主的原力值在所在城市已经名列前茅,持续创作就有机会成为所在城市的TOP1博主(https://bbs.csdn.net/forums/blogstar2023?typeId=3152981&utm_source=blog_comment_city),更有丰厚奖品等你来拿~。

在屏幕的任意位置输出字符

孩儿立志出乡关:我不知道是我的电脑的原因,还是其他什么原因。coord.X代表的是列,coord.Y代表的是行。

Java中abstract类和abstract方法

高大巴:可以的我看一边就理解了

02第一个Mybatis程序

不正经的kimol君:在最美的年华,做最好的自己,加油!

经典排序算法介绍及源码(c++实现)

Tisfy:深得人心,正如古人云:晨昏滚滚水东流,今古悠悠日西坠。

java冒泡排序例题

解决问题如下:

1.求1+2!+3!+...+20!的和。

2.获取数组中的最大和最小值。

3.对数组进行选择排序、冒泡排序。

4.在数组中查找某个数的位置(折半查找)。

折半查找:适合顺序表的查找,数组中存的是按顺序排列的元素,方法如下:

定义变量low,mid,high分别指向数组中的最低位,中间和最高位的元素;比较要查找的元素和mid指向的元素,如果比mid大,则在mid和high之间继续查找,low=mid+1;

否则在low和mid之间继续查找,high=mid-1.直到low大于high停止,

找到要找的元素则返回标号,未找到则返回null.实际上就是比较一次能排除一半的元素,再在另一半的元素里查找,直到找到或者失败.

简单选择排序是最简单直观的一种算法,基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止,简单选择排序是不稳定排序。

冒泡排序算法的运作如下:(从后往前)

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

介绍完主要的思想后接下来是代码,因为JAVA还在初步学习中,希望大家多多指教!!!

classhome

{

publicstaticvoidmain(String[]args)

{

System.out.println("你好!这是1+2!+3!+...+20!求和结果");

JC(20);

System.out.println();

System.out.println();

System.out.println("你好!这是获取数组中的最大和最小值的结果");

int[]arr={2,1,3,5,9,2,7};

int[]arr1={3,2,5,8,4,15,14,1,25,6,3};

maxMin(arr);

System.out.println();

System.out.println();

System.out.println("你好!这是选择排序的结果");

xzPX(arr);

System.out.println();

System.out.println();

System.out.println("你好!这是冒泡排序的结果");

mpPX(arr1);

System.out.println();

System.out.println();

System.out.println("你好!这是折中选择1的结果");

zzPX(arr,30);

System.out.println();

System.out.println();

System.out.println("你好!这是折中选择2的结果");

zzPX(arr1,14);

}

publicstaticvoidJC(intnum)

{

intsum=0;

for(inti=1;i

n=n*j;

}

sum=sum+n;

}

System.out.println("当n个阶乘之和的n为"+num+"时"+"其和为"+sum);

}

publicstaticvoidmaxMin(int[]arr)

{

intmax=arr[0];intmin=arr[0];

for(inti=0;i

{

if(max

max=arr[i];

}

if(min>arr[i]){

min=arr[i];

}

}

System.out.print("当数组为");

for(intj=0;j

System.out.print(arr[j]+",");

}

System.out.println("其最大值为"+max+"最小值为"+min);

}

publicstaticvoidsz(int[]arr)

{

for(intj=0;j

System.out.print(arr[j]+",");

}

}

publicstaticvoidxzPX(int[]arr)

{

System.out.print("未改变之前数组为");

sz(arr);

for(inti=0;i

{

for(intj=i+1;j

{

if(arr[i]>arr[j]){

inta=arr[j];

arr[j]=arr[i];

arr[i]=a;

}

}

}

System.out.print("改变之后数组为");

sz(arr);

}

publicstaticvoidmpPX(int[]arr)

{

sz(arr);

for(inti=0;i

{

//intb=i;

for(intj=1;j

{

if(arr[j-1]>arr[j]){

inta=arr[j-1];

arr[j-1]=arr[j];

arr[j]=a;

}

//b=b+1;

}

}

System.out.print("改变之后数组为");

sz(arr);

}

publicstaticvoidzzPX(int[]arr,intn)

{

System.out.print("顺序数组为");

sz(arr);

System.out.print("数组长度为"+arr.length);

intmin=0;

intmax=arr.length-1;

intmid=(min+max)/2;

booleana=false;

while(min

{

if(n>arr[mid])

{

min=mid+1;

mid=(min+max)/2;

}

elseif(n

{

max=mid-1;

mid=(min+max)/2;

}

elseif(n==arr[mid])

{

System.out.println("当n等于"+n+"时其索引号为"+mid);

a=true;

break;

}

}

if(a==false)

{

System.out.println("当n等于"+n+"时该顺序数组中无其数");

}

}

}

执行结果如下:

例题8

AndroidMPAndroidChart柱状图结合Bmob后端云数据库实现统计本周收支详情

CSDN-Ada助手:非常棒的博客!你的文章内容非常实用,让读者可以通过具体的实例来学习如何使用AndroidMPAndroidChart和Bmob后端云数据库进行数据统计。建议你可以继续深入探究相关技术,推荐你写一篇关于使用AndroidStudio和Kotlin语言开发基于MVVM架构的音乐播放器的博客,因为这是当前很多Android开发者比较感兴趣的话题,而且Kotlin语言的全面普及也让这个主题更具有实际意义。期待你的佳作!2023年博客之星「城市赛道」年中评选已开启(https://activity.csdn.net/creatActivity?id=10470&utm_source=blog_comment_city),博主的原力值在所在城市已经名列前茅,持续创作就有机会成为所在城市的TOP1博主(https://bbs.csdn.net/forums/blogstar2023?typeId=3152981&utm_source=blog_comment_city),更有丰厚奖品等你来拿~。

python在输出时加上*号的简单作用

Awinded:找了好久,我发现没有博主讲过输出*数组!

6-13分治法求解金块问题

爱编程的小陈同学:intmax(inta[],intm,intn){if(m==n)returna[n];intt=max(a,(n+m)/2+1,n);intt1=max(a,m,(m+n)/2);returnt>t1?t:t1;}intmin(inta[],intm,intn){if(m==n)returna[n];intt=min(a,(n+m)/2+1,n);intt1=min(a,m,(m+n)/2);returnt>t1?t1:t;}

6-13分治法求解金块问题

爱编程的小陈同学:还有一种更浪费的分治,这个只算半分

6-13分治法求解金块问题

爱编程的小陈同学:其实分治完全没用,反而增加了程序负担,递归层数多次调用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇