`
xlaohe1
  • 浏览: 128749 次
  • 性别: Icon_minigender_1
  • 来自: 来处
社区版块
存档分类
最新评论

瞎搞排序

    博客分类:
  • java
 
阅读更多

package com.xlaohe1.programming.beautiful;

public class T12 {
	private static int[] ints = {32,311,3,4,512,3222,44,53,434,123,55};
	public static void main(String[] args) {
		bubbleM();
	}
	

	/**
	 * 选择排序
	 * 选择排序就是就是找到当前值到数组的结尾中的最小值与当前值比较,如果当前值大于最小值就和其交换位置
	 * 然后从此值开始又向后面进行查找,进行判断处理
	 * 选择排序虽然进行的查找和冒泡排序一样多N^2,但是交换的次数是很少的
	 *
	 */
	public static void select() {
		int length = ints.length;
		int out, in, min;
		for(out = 0; out < length; out ++) {
			min = out;//把当前值得索引赋给最小值(即,把当前值当成最小值)
			for(in = out + 1; in < length; in ++) {//当前值与当前值+1的后面值进行比较
				if(ints[in] < ints[min]) min = in;
			}
			swap(min, out);//把最小值和当前值交换位置才能进行下一次的查询
		}
		for(int i = 0; i < length; i ++) {
			System.out.println(ints[i]);
		}
	}
	
	/**
	 * 冒泡排序
	 */
	public static void bubble() {
		for(int i = 0; i < ints.length; i ++) {
			for(int j = 0; j < ints.length - i - 1; j ++) {
				if(ints[j] > ints[j + 1]){
					swap(j, j + 1);
				}
			}
		}
		for(int i = 0; i < ints.length; i ++) {
			System.out.println(ints[i]);
		}
	}
	
	//or
	public static void bubbleM() {
		for(int i = 0; i < ints.length; i ++) {
			for(int j = 0; j < i; j ++) {
				if(ints[i] < ints[j]) swap(i, j);
			}
		}
		for(int i = 0; i < ints.length; i ++) {
			System.out.println(ints[i]);
		}
	}
	
	
	
	/**
	 * 插入排序
	 * 插入排序的原理就是从数组的第一个索引(第二个数)开始一个数向右移动,一个数向左移动
	 * 如果左边的数大于右边的数则进行交换
	 */
	public static void insert() {
		int in, out;//out向右遍历,in向左遍历
		for(out = 1; out < ints.length; out ++) {//从第二个数开始,因为第一个数要留给in
			int temp = ints[out];
			in = out;
			while(in > 0 && ints[in - 1] >= temp) {
				ints[in] = ints[in - 1];
				in --;
			}
			ints[in] = temp;//交换的都是有序的数
		}
		for(int i : ints) {
			System.out.println(i);
		}
	}
	
	public static void swap(int one, int two) {
		int temp = ints[one];
		ints[one] = ints[two];
		ints[two] = temp;
	}

}

分享到:
评论

相关推荐

    瞎搞Time_Quest_和无责任的笔记_第一章

    根据提供的文件信息,我们可以从中提炼出关于TimeQuest和静态时序分析的相关知识点。以下是对文件中提到概念的详细解释: 1. TimeQuest工具简介: TimeQuest是Altera公司(现为Intel旗下)Quartus II软件包中的一个...

    拍拍抢拍小工具-006

    测试 006版 注意: 请输入抢拍商品的URL:先选择抢拍商品,然后复制地址栏中的地址,然后粘贴到上面. 请输抢购时间:H(小时)M(分钟)S(秒) 你的系统时间应该和拍拍的系统时间一至,不一至的话抢拍时间肯定不准确...

    大创瞎搞.zip

    项目学习分享。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。... 【技术】 Java、Python、Node.js...

    瞎搞TimeQuest 的无责任笔记3_fpga_timequest_

    【标题】"瞎搞TimeQuest 的无责任笔记3_fpga_timequest_" 提供了一个深入了解FPGA设计中的时序分析和优化的主题,特别是聚焦于TimeQuest工具的使用。这个笔记系列显然是作者在实践中积累的经验总结,旨在帮助读者更...

    瞎搞Time_Quest_和无责任的笔记_第一章_fpga_

    标题中的“瞎搞Time_Quest_和无责任的笔记_第一章_fpga_”指的是一个关于FPGA(Field-Programmable Gate Array,现场可编程门阵列)的学习笔记,其中可能包含了作者在使用Time Quest定时分析工具过程中的心得和经验...

    WPF 天干地支时钟表盘 可以设置24小时制纯属瞎搞 加天气预报

    WPF 天干地支时钟表盘 可以设置24小时制纯属瞎搞 加天气预报 预览可以看这里 https://blog.csdn.net/shishuwei111/article/details/81384910

    瞎搞TimeQuest 的无责任笔记2

    根据提供的文件信息,我们可以提炼出几个关键知识点:TimeQuest工具的作用、SDC网表的概念以及在数字电路设计中如何利用TimeQuest分析时序问题。 首先,TimeQuest是一款在数字电路设计领域广泛使用的设计工具,主要...

    门店赢利提升:不要瞎搞!

    《门店赢利提升:不要瞎搞!》这份文档聚焦于超市管理的核心——如何有效地提升门店的盈利能力。在零售行业中,门店的盈利状况是衡量经营效果的重要指标,它涉及到商品管理、顾客服务、运营策略等多个方面。以下将从...

    subentry:自己平时瞎搞的合集

    标题中的"subentry:自己平时瞎搞的合集"表明这是一个个人项目集合,可能包含了作者在业余时间探索和学习JavaScript时创建的各种代码片段、实验性项目或者小应用。"subentry"可能是项目的一个命名或者分类,而"自己...

    自动绿灯:瞎搞

    自动绿 自动保持GitHub提交状态常绿。 一天的约会会让你的女朋友远离。 原理 使用GitHub Actions的定时任务功能,每隔一段时间自动执行git commit ,提交信息为“一天的提交会让你的女朋友远离”,灵感来自知乎问题...

    东北大学数据结构与算法课程设计实验报告+源代码

    2. **算法**:包括排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序等)、搜索算法(线性搜索、二分查找等)、图算法(深度优先搜索、广度优先搜索、最短路径算法如Dijkstra和Floyd算法等)以及递归、...

    Code:JSBox脚本,业余爱好,瞎搞ing..

    个人脚本整理:warning: 所有内容仅供交流学习,请于下载后 24h 内删除,勿挪作他用,否则后果自负 :warning::warning: 一旦下载即视为您同意上述要求 :warning:【JSBox】功能特点输入 doi 号(默认复制剪贴板文本),...

    网页歪歪保频道用

    本文将详细介绍如何使用“网页YY瞎搞.exe”这个专用软件来保护自己的YY频道。 首先,我们需要了解YY频道保护的基本原理。YY频道保护主要是通过定期发送心跳包到服务器,表明该频道仍有用户活跃,从而防止频道因为长...

    三个小时内用.net 做模仿系统软件最终结果

    自己瞎搞的一个模仿系统打开文件的东东,做了三个小时了,瞎搞的,不过才三个小时凑合过去了

    仿小米商城微信小程序源码+项目说明.zip

    该项目与小米官方没有关系,纯属个人瞎搞,若需要购买小米产品请到小米官方商城。 项目包含4个tabBar:首页、发现页(即商品展示页)、购物车、我的。另有商品详情页、我的收藏、订单结算页面、我的订单。 实现了...

    tap虚拟网卡驱动64位

    tap虚拟网卡驱动64位系统

    Mixly米思奇 Arduino uno badapple!!! 蜂鸣器音乐

    Mixly米思奇 Arduino uno badapple!!! 蜂鸣器音乐,瞎搞的,初学者,希望可以给各位带来有趣的东西

    node-elm:node.js + express + mongodb + mongoose + es67 + vue + element-ui

    注:此项目纯属个人瞎搞,不用于任何商业用途。说明node-elm 接口文档:如果对您对此项目有兴趣,可以点 "Star" 支持一下 谢谢! ^_^或者您可以 "follow" 一下,我会不断开源更多的有趣的项目开发环境 macOS 10.12.4 ...

    下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决

    最近在网上找了很多下载Crypto的方法,感觉作用都不算很大,然后自己瞎搞瞎搞就搞好了:grinning_face_with_sweat:,所以打算分享出来。 直接pip下载或者Anaconda下载,Anaconda的话可以直接在官网上下载,pip就不说...

    阶段程序汇总

    最后,"瞎搞"这个文件名可能指的是作者的一些实验性的、非正式的代码尝试,这部分可能包含了一些错误的示例或者是对新概念的初步探索。 总的来说,这个压缩包是一个全面的学习资源,包含了从基础知识到实践应用的...

Global site tag (gtag.js) - Google Analytics