java冒泡排序和快速排序代码

发布时间 - 2026-01-11 00:31:12    点击率:

冒泡排序:

基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

public class BubbleSorted{ 
public BubbleSorted(){ 
int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51}; 
int temp=0; 
for(int i=0;i<a.length-1;i++){ 
for(int j=0;j<a.length-1-i;j++){ 
if(a[j]>a[j+1]){ 
temp=a[j]; 
a[j]=a[j+1]; 
a[j+1]=temp; 
} 
} 
} 
for(int i=0;i<a.length;i++) 
System.out.println(a[i]); 
} }

快速排序:

算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序不重复的。 基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止。

假设有一个数组 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },现要求采用二分法找出指定的数值并将其在数组的索引返回,如果没有找到则返回 -1。代码如下:

package com.test;

public class FindSorted{
public static void main(String[] args) {
int[] arr = new int[] { 12, 23, 34, 45, 56, 67, 77, 89, 90 };
System.out.println(search(arr, 12));
System.out.println(search(arr, 45));
System.out.println(search(arr, 67));
System.out.println(search(arr, 89));
System.out.println(search(arr, 99));
}
public static int search(int[] arr, int key) {
int start = 0;
int end = arr.length - 1;
while (start <= end) {
int middle = (start + end) / 2;
if (key < arr[middle]) {
end = middle - 1;
} else if (key > arr[middle]) {
start = middle + 1;
} else {
return middle;
}
}
return -1;
}
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# java  # 冒泡排序  # 快速排序  # java List 排序之冒泡排序实例代码  # Java 冒泡排序、快速排序实例代码  # java数据结构与算法之冒泡排序详解  # Java数据结构和算法之冒泡排序(动力节点Java学院整理)  # java冒泡排序简单实例  # java实现的冒泡排序算法示例  # Java实现冒泡排序算法  # java 数据结构 冒泡排序实现代码  # Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)  # JAVA冒泡排序和二分查找的实现  # Java实现冒泡排序算法及对其的简单优化示例  # Java经典算法汇总之冒泡排序  # Java实现冒泡排序与双向冒泡排序算法的代码示例  # 详解Java冒泡排序  # 则在  # 升序  # 自上而下  # 如果没有  # 还未  # 就将  # 较小  # 往上  # 半段  # 定值  # 往下沉  # 并将其  # class  # brush  # strong  # 排好序  # pre  # public  # BubbleSorted 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android利用动画实现背景逐渐变暗  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何在万网自助建站中设置域名及备案?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  桂林网站制作公司有哪些,桂林马拉松怎么报名?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  详解CentOS6.5 安装 MySQL5.1.71的方法  如何在企业微信快速生成手机电脑官网?  如何用花生壳三步快速搭建专属网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  iOS中将个别页面强制横屏其他页面竖屏  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  香港服务器如何优化才能显著提升网站加载速度?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Android GridView 滑动条设置一直显示状态(推荐)  微信小程序 wx.uploadFile无法上传解决办法  如何在建站宝盒中设置产品搜索功能?  如何在IIS管理器中快速创建并配置网站?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  轻松掌握MySQL函数中的last_insert_id()  如何获取上海专业网站定制建站电话?  WEB开发之注册页面验证码倒计时代码的实现  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何用低价快速搭建高质量网站?  Android使用GridView实现日历的简单功能  郑州企业网站制作公司,郑州招聘网站有哪些?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel如何使用withoutEvents方法临时禁用模型事件  使用C语言编写圣诞表白程序  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  如何在阿里云购买域名并搭建网站?  智能起名网站制作软件有哪些,制作logo的软件?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  JS经典正则表达式笔试题汇总  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  昵图网官方站入口 昵图网素材图库官网入口  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  android nfc常用标签读取总结  Laravel如何使用Eloquent进行子查询  如何彻底删除建站之星生成的Banner?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  移动端脚本框架Hammer.js  高端建站如何打造兼具美学与转化的品牌官网?