在排序中,如何不借助中间变量进行排序呢?()
今天来给大家分享一个如何不使用中间变量来进行排序。
在排序中,最经典的就是冒泡排序了,但是在采用冒泡排序的方法时,大多数的情况下都使用了中间变量来进行值交换。
先来捋清一下思路,冒泡排序就是比较相邻两元素的大小,如果前一个数比后一个数字大就交换位置,通过中间变量来进行交换。
简单点来讲,就是两杯饮料进行交换,一杯葡萄汁A和一杯橙汁B换个杯子装,需要一个空杯子C来置换。
方法一
private static void bubble_sort() {int iArr[] = new int[5]; //声明一个5个变量存储空间的数组iArr[0] = 9;iArr[1] = 8;iArr[2] = 1;iArr[3] = 3;iArr[4] = 6;//大括号里的内容为数组的对象int iB[] = {1,4,3,8,2};//根据赋值的元素个数确定数组的大小int n= iB.length;// int t = 0;//声明一个过渡变量,用于置换相邻的两个元素的值int i = 0;//声明一个变量,引用数组索引下标int j = 0;for(i = 0;i<4;i++) {for(j = n-1;j>i;j--) {if(iArr[j]<iArr[j-1]) {iArr[j] = iArr[j] + iArr[j-1];iArr[j-1] = iArr[j] - iArr[j-1];iArr[j] = iArr[j] - iArr[j-1];}}}for(i=0;i<n;i++) {System.out.println(iArr[i] + "");}System.out.println(" ");
方法二
public static void Exchage() {Scanner scanner = new Scanner(System.in);System.out.println("输入第一个变量A:");int a = scanner.nextInt();System.out.println("输入第二个变量B:");int b = scanner.nextInt();System.out.println("A=" + a + "\tB=" + b);//变量交换a = a ^ b;b = b ^ a;a = a ^ b;System.out.println("A=" + a + "\tB=" + b);
在排序中,如何不借助中间变量进行排序呢?()相关推荐
- ds排序--希尔排序_图解直接插入排序和希尔排序
前言 这次我们介绍插入类排序中的 直接插入排序 和 希尔排序 . 对于直接插入排序,虽然它的时间复杂度也是 O(n^2) ,但是在元素 有序或近乎有序 的情况下,时间复杂度可以降为 O(n) ,效率比 ...
- 深度学习在美团点评推荐平台排序中的应用 widedeep推荐系统模型--学习笔记
gbdt+lr的模型之前是知道怎么搞的,dnn+lr的模型也是知道的,但是都没有试验过 深度学习在美团点评推荐平台排序中的运用 原创 2017-07-28 潘晖 美团点评技术团队 美团点评作为国内最大 ...
- 在不借助中间变量的前提下,交换两个变量的值
借助中间变量,可以很方便的交换两个变量的值.如果不借助中间变量,同样可以达到交换变量的目的. 数值相加减进行交换 int a = 10; int b = 12; a = b - a; //a = 2, ...
- 干货 | XGBoost在携程搜索排序中的应用
作者简介 曹城,携程搜索部门高级研发工程师,主要负责携程搜索的个性化推荐和搜索排序等工作. 一.前言 在互联网高速发展的今天,越来越复杂的特征被应用到搜索中,对于检索模型的排序,基本的业务规则排序或者 ...
- 京东电商搜索中的语义检索与商品排序
导读:本文将介绍京东搜索场景中的两块技术,语义检索与商品排序.在业界检索算法基础上,我们提出一系列更适用于电商场景的检索排序算法,在业务上取得了显著收益.其中的多篇论文已被 KDD/SIGIR 等收录 ...
- 强化学习在携程酒店推荐排序中的应用探索
https://www.toutiao.com/a6708585355555111431/ 目前携程酒店绝大部分排序业务中所涉及的问题,基本可以通过应用排序学习完成.而其中模型训练步骤中所需的训练数据 ...
- Oracle排序中NULL值处理的五种常用方法
1.缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2.使用nvl函数 nvl函数可以将输入参数为空时转换为一特定 ...
- python中字典按键或键值排序
字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按"键"排 ...
- Python统计网站访问日志log中的IP信息,并排序。。
Python统计网站访问日志log中的IP信息,并排序,打印排名靠前的IP及访问量.示例代码如下: #!/usr/bin/env pythonipdict = {}file = open(" ...
最新文章
- 树莓派视觉小车 -- 物体跟踪(OpenCV)
- 阿里文娱搜索算法实践与思考
- mysql自增变量插入行时需要赋值
- OpenGL text rendering文字渲染的实例
- 如何正确地把服务器端返回的文件二进制流写入到本地保存成文件
- 人工智能领域论文常见基本概念笔记
- 解决Github图片加载失败
- 完美粉红噪声及各种声波测试软件,粉红噪声的测试原理
- Netty(三) 什么是 TCP 拆、粘包?如何解决?
- 安全彻底的卸载工具App Cleaner Uninstaller for Mac
- 制作纯DOS启动U盘
- 中国行政村边界数据、乡镇街道边界
- HTML标签常用标签
- 《清华梦的粉碎》by王垠
- 科目二 后视镜 调节
- GBase 8c 迁移工具 DMT 简述
- DTI-ATS入门(2):DTI协议纵览
- HTML初识——概念
- 计算机专业竞争力度大吗,求职竞争最激烈十大行业出炉 计算机软件业榜首
- 王佩丰excel2010基础教程学习笔记(第六讲到第十讲)