当前位置:网站首页>[Bubble sort and odd-even sorting]
[Bubble sort and odd-even sorting]
2022-08-03 10:52:00 【DJL_new_life】
点击可进行跳转至
冒泡排序
将一个乱序的数组进行排序,默认排升序
假设数组有n个元素,每进行一次遍历,就会把一个元素放在它的最终位置,它要到达最终位置,就要和每个元素进行比较,寻找那个最大的值,放在末尾,此时最后这个位置已经有了它的归属,当排序下个元素时,就无需遍历已经有归属的位置.
详细代码附上:(内含注释)
import java.util.Arrays;
public class Test2 {
public static void main(String[] args) {
int[] arr = {
3,4,5,1,2};
bubbleSort(arr);
for(int i : arr){
System.out.println(i);
}
}
public static void bubbleSort(int[] arr){
//需要将几个元素放到他们应该在的位置,
// 减1的 作用是:当还剩下一个数的时候,其他数都已经排序好,这个数就在它该在的位置
for (int i = 0; i < arr.length-1; i++) {
//在放一个元素的时候,需要遍历数组进行比较
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}
数组的数字排列问题
给定一个整型数组,将所有的偶数放在前半部分,将所有的奇数放在后半部分
例如:
{1,2,3,4,5,6,7,8}
调整后得到
{8,2,6,4,5,3,7,1}
思路:双引用,从前向后寻找到第一个奇数停止,从后向前寻找到第一个偶数停止,把这两个数一换就可以了.
package Array;
/** * 给定一个整型数组,将所有的偶数放在前半部分,将所有的奇数放在后半部分 */
public class OddEven {
public static void main(String[] args) {
int[] arr = {
1,2,3,4,5,6,7,8};
oddEven(arr);
for (int i : arr){
System.out.println(i);
}
}
public static void oddEven(int[] arr){
int left = 0;
int right = arr.length-1;
while (left < right){
while (left < right && arr[left] % 2 == 0){
//找奇数
left++;
}
while (left < right && arr[right] % 2 != 0){
//找偶数
right--;
}
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
}
看到上面找奇数和找偶数的判断条件时,可能会有疑惑?
为什么要加left<right
呢?
是因为若数组内部全是奇数,或者全是偶数,left
和 right
要有限制条件,否则数组就会越界.
要是对大家有所帮助的话,请帮我点个赞吧.
边栏推荐
猜你喜欢
【LeetCode—第2题 两数之和 代码详解 】附有源码,可直接复制
Classical Architecture and Memory Classification of Embedded Software Components
What is the relationship between The Matrix and 6G?
VL53L0X V2激光测距传感器 采集距离数据串口输出
MySQL database combat (1)
Polymorphism in detail (simple implementation to buy tickets system simulation, covering/weight definition, principle of polymorphism, virtual table)
程序员架构修炼之道:软件架构基本概念和思维
numpy
【多线程的相关内容】
Babbitt | Metaverse daily must-read: Players leave, platforms are shut down, and the digital collection market is gradually cooling down. Where is the future of the industry?...
随机推荐
507. 完美数
What is the IDE?Novice with which the IDE is better?
数字藏品和ICP
ETL data cleaning case in MapReduce
Binary search tree (search binary tree) simulation implementation (there is a recursive version)
gbase在轨道交通一般都采用哪种高可用架构?
请问应该用什么关键字将内容主题设置为 dark 呢
深入解析分布式文件系统的一致性的实现
分布式事务七种解决方案
【二分查找详解外加递归写法】附有全部代码
Pixel mobile phone system
训练双塔检索模型,可以不用query-doc样本了?明星机构联合发文
混合型界面:对话式UI的未来
CADEditorX ActiveX 14.1.X
Boolean 与numeric 无法互转
如何通过DBeaver 连接 TDengine?
4 g acquisition ModbusTCP turn JSON MQTT cloud platform
Leecode-SQL 1667. 修复表中的名字
【Star项目】小帽飞机大战(九)
LeetCode_二分搜索_简单_367.有效的完全平方数