JAVA冒泡、插入、选择排序算法
更新时间:2023-07-27 18:16:01 阅读量: 实用文档 文档下载
- java冒泡和选择排序推荐度:
- 相关推荐
经常在笔试(或面试)中出现的JAVA经典算法,本人特此整理,希望有用
import java.io.*;
public class Paixu {
// 冒泡排序法 public void Maopao(int a[]) { for (int i = 1; i < a.length; i++) { for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { int temp = a[j + 1]; a[j + 1] = a[j]; a[j] = temp; } } } } // 插入排序法: public void Charu(int a[]) { for (int i = 1; i < a.length; i++) { for (int j = 0; j < i; j++) { if (a[j] > a[i]) { int temp = a[i]; for (int k = i; k > j; k--) { a[k] = a[k--]; } a[j] = temp; } } } } // 选择排序法: public void Xuanze(int a[]) { for (int i = 0; i < a.length; i++) { int position = i; for (int j = i + 1; j < a.length; j++) { System.out.println("\n" + "采用插入排序法:"); System.out.println("\n" + "采用冒泡排序法:");
经常在笔试(或面试)中出现的JAVA经典算法,本人特此整理,希望有用
} } } if (a[position] > a[j]) { int temp = a[position]; a[position] = a[j]; a[j] = temp; } System.out.println("\n" + "采用选择排序法:"); public void Print(int a[]) { System.out.println("从小到大排序结果为:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + ","); } } public static void main(String[] args) { int a[] = new int[5]; Paixu px = new Paixu(); BufferedReader buf = new BufferedReader( new InputStreamReader(System.in)); System.out.println("请输入五个整数:"); for (int i = 0; i < a.length; i++) { try { String s = buf.readLine(); int j = Integer.parseInt(s); a[i] = j; } catch (Exception e) { System.out.println("出错了!必须输入整数,请重新输入!");
i--; } } System.out.println("您输入的整数依次为:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + ","); }
经常在笔试(或面试)中出现的JAVA经典算法,本人特此整理,希望有用
System.out.println("\n" + "-------------"); px.Maopao(a); // 调用冒泡算法 px.Print(a); System.out.println("\n" + "-------------"); px.Charu(a); // 调用插入算法 px.Print(a); System.out.println("\n" + "-------------"); px.Xuanze(a); // 调用选择算法
px.Print(a);
}
}
Java实现二分查找
2008-11-19 21:38
今天阿朗被问到二分查找竟然一着急没写出来。faint =。= 回来复习下
import java.util.*;
public class BinarySearch {
public static void main(String[] args) {
ArrayList<Integer> a = new ArrayList<Integer>();
addIntegerInSequence(a,1,10);
print(a);
int pos = binarySearch(a,10);
if ( pos != -1 )
{
System.out.print("Element found: " + pos);
}
else
{
System.out.print("Element not found");
}
}
/**
* 二分查找法
* @param a
* @param value 待查找元素
经常在笔试(或面试)中出现的JAVA经典算法,本人特此整理,希望有用
* @return
*/
public static int binarySearch(ArrayList<Integer> a, int value)
{
int size = a.size();
int low = 0 , high = size - 1;
int mid;
while (low <= high)
{
mid = (low + high) / 2;
if ( a.get(mid) < value )
{
low = low + 1;
}
else if ( a.get(mid) > value )
{
high = high - 1;
}
else
{
return mid;
}
}
return -1;
}
/**
* 填充顺序元素到数组
* @param a
* @param begin 开始元素
* @param size 大小
*/
public static void addIntegerInSequence(ArrayList<Integer> a, int begin, int size) {
for (int i = begin; i < begin + size; i++)
{
a.add(i);
}
}
/**
* 打印数组
* @param a
*/
经常在笔试(或面试)中出现的JAVA经典算法,本人特此整理,希望有用
public static void print(ArrayList<Integer> a)
{
Iterator<Integer> i = a.iterator();
while (i.hasNext())
{
System.out.print(i.next() + " ");
}
System.out.println("");
}
}
/////
JAVA 库中的二分查找使用非递归方式实现,返回结果与前面写的有所不同:找不到时返回的是负数,但不一定是-1
private static int binarySearch0(int[] a, int fromIndex, int toIndex,
int key) {
int low = fromIndex;
int high = toIndex - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int midVal = a[mid];
if (midVal < key)
low = mid + 1;
else if (midVal > key)
high = mid - 1;
else
return mid; // key found
}
return -(low + 1); // key not found.
}
正在阅读:
JAVA冒泡、插入、选择排序算法07-27
小学生心理辅导个案报告06-20
六级高频词组分类归纳06-21
备战2022高考政治 专题06 新时代党的历史使命和党的建设(含解析)04-16
妇女之家撰写要点02-28
移液器项目可行性研究报告07-10
全国卷高考导数知识点归纳应用04-29
复旦哲学王子王德峰讲座集01-18
正风肃纪活动个人自查报告12-12
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 冒泡
- 算法
- 插入
- 排序
- 选择
- JAVA
- 运用现代化手段提高民主党派参政议政水平
- 武山县草原监理工作总结
- 重庆农村商业银行在线学习答案目标管理
- 广东海洋大学体育馆管理系统鲁棒性分析v1.0
- 活期储蓄账目管理 代码
- 国内外超市家电调查实习报告
- 08数据步循环与转移控制
- 国外碳排放交易机制的发展和应用
- 上海市船舶检验处注册验船师考试试题(B级)20100912已编辑
- 2011年春季体育教研组工作计划
- 《中国近代史纲要》课后习题和答案
- 反应时的测定实验报告
- 9月10日自杀预防日
- 苏教版语文七年级上册文言文与古诗文复习习题(免费下载
- 第十一章:论说文的翻译
- 操盘手自曝熊市中如何砸盘
- 会计资格考试判断题
- 组织行为学 公平理论案例分析
- 肠易激综合征的诊断和治疗
- 吉林一中2010---2011学年度下学期期末测试 高一英语试题