java-实现两种排序方法

/*
对给定数组进行排序
{5,7,2,8,9,1,3,4}

*/
class ArrayTest2
{
/*
选择排序
内循环结束一次,最值出现在头角标位置上
*/
public static void SelectSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=1+x;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
/*
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
*/
swap(arr,x,y);//java中已经定义好的一种排序方式,开发中,要使用该句代码。
}

}
}
}
/*
冒泡排序
*/
public static void bubbleSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-x-1;y++)//-x:让每一次比较的元素减少,-1:避免角标越界。
{
if(arr[y]<arr[y+1]) 
{
/*
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
*/
swap(arr,y,y+1);
}
}
}

}
/*
发现无论什么排序,都需要对满足条件的元素进行位置互换。
所以可以把这部分相同的代码提取出来,单独封装成一个函数。
*/
public static void swap(int[] arr,int a,int b)
{
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
public static void main(String[] args)
{
int[] arr={5,7,2,8,9,1,3,4}; 
//排序前
printArray(arr);
//排序s
//SelectSort(arr);
//排序后 
bubbleSort(arr);
printArray(arr);
}
public static void printArray(int[] arr)
{
System.out.print("[");
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}

}
}

时间: 2024-11-05 21:52:38

java-实现两种排序方法的相关文章

两种排序方法(直接判断)

题目描述 考拉有n个字符串字符串,任意两个字符串长度都是不同的.考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序.例如:"car" < "carriage" < "cats" < "doggies < "koala"2.根据字符串的长度排序.例如:"car" < "cats" < "koala" <

两种排序方法 网易2017内推编程题

考拉有n个字符串字符串,任意两个字符串长度都是不同的.考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序.例如: "car" < "carriage" < "cats" < "doggies < "koala" 2.根据字符串的长度排序.例如: "car" < "cats" < "koala" < &

java 数据库两种连接方法

package jdbc; import java.sql.*; public class ConnectionDemo2 { public static final String DBDRIVER="com.mysql.jdbc.Driver"; public static final String DBURL="jdbc:mysql://localhost:3306/bizhi" ; public static final String DBUSER="

[编程题] 两种排序方法

小易喜欢的单词具有以下特性:1.单词每个字母都是大写字母2.单词没有连续相等的字母3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续.例如:小易不喜欢"ABBA",因为这里有两个连续的'B'小易不喜欢"THETXH",因为这里包含子序列"THTH"小易不喜欢"ABACADA",因为这里包含子序列"AAAA"小易喜欢"A","AB

两种排序方法(选择排序和冒泡排序)

static void Main(string[] args)        {                        var arr = new int[] { 2, 8, 5, 1, 9, 9, 7, 7, 25, 35, 20 };            Sort1(arr);            foreach (var item in arr)            {                Console.WriteLine(item); } var arr2 =

java List递归排序,无序的列表按照父级关系进行排序(两种排序类型)

当有一个List列表是无序的,List中的数据有parentid进行关联,通过java排序成两种排序类型: 所用的测试列表最顶级无parentid,若为特殊值,修改下判断方法即可. 第一种排序:按照树结构进行排序 排序前:122,13,121,1,131,12,132...无序的[TestSort [id=122, name=三级b, parentid=12], TestSort [id=13, name=二级b, parentid=1], TestSort [id=121, name=三级a,

JAVA EE 项目经常使用知识 之AJAX技术实现select下拉列表联动的两种使用方法(让你真正理解ajax)

ajax 下拉列表联动的使用方法. ajax的定义: AJAX 是一种用于创建高速动态网页的技术. 通过在后台与server进行少量数据交换,AJAX 能够使网页实现异步更新.这意味着能够在不又一次载入整个网页的情况下,对网页的某部分进行更新. ajax效果的一个样例: 区域为空的时候,维护人情况: 选了一个区域后的情况:(选 舒城县 联带出来的维护人员 小刘) 一.原生态的js实现 XMLHttpRequest 是 AJAX 的基础 XMLHttpRequest 对象 全部现代浏览器均支持 X

JAVA中运用数组的四种排序方法

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法. 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现. 冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来. 选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组. 插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序.下面我就将他们的实现方法一一详解供大家参考. <1>利用Arrays带有的排序方法快

JAVA 中两种判断输入的是否是数字的方法__正则化_

JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengzehua_test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { System.out.println("请输入第一个数字:"