排序算法课设代码java 排序算法程序设计实验报告( 二 )


代码实现JavaScript实例functionquickSort ( arr ,left ,right ){
varlen=arr. length,
partitionIndex ,
left=typeofleft!='number'?0:left ,
right=typeofright!='number'?len-1:right ;
if( left
java冒泡排序法代码冒泡排序是比较经典的排序算法 。代码如下:
for(int i=1;iarr.length;i++){
for(int j=1;jarr.length-i;j++){
//交换位置
}
拓展资料:
原理:比较两个相邻的元素,将值大的元素交换至右端 。
思路:依次比较相邻的两个数,将小数放在前面,大数放在后面 。即在第一趟:首先比较第1个和第2个数,将小数放前 , 大数放后 。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数 , 将小数放前,大数放后 。重复第一趟步骤,直至全部排序完成 。
第一趟比较完成后,最后一个数一定是数组中最大的一个数 , 所以第二趟比较的时候最后一个数不参与比较;
第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;
依次类推,每一趟比较次数-1;
??
举例说明:要排序数组:int[] arr={6,3,8,2,9,1};
for(int i=1;iarr.length;i++){
for(int j=1;jarr.length-i;j++){
//交换位置
}
参考资料:冒泡排序原理
排序算法 java编程public class Sort
{
//选择排序
public static void selectSort(char[] data)
{
int i,j,mx;
char temp;
for(i = 0; idata.length-1; i++)
{
mx = i ;
for(j = i+1 ; jdata.length; j++)
{
if(data[mx]data[j])
mx = j ;
}
temp = data[i];
data[i] = data[mx];
data[mx] = temp;
}
}
//插入排序
public static void insertSort(char[] data)
{
int i,j,mx;
char key ;
for(i=1; idata.length -1; i++)
{
key = data[i];
mx = i;
for(j= i-1;j0;j--)
{
if(keydata[j])
{
data[j+1] = data[j];
mx = j ;
}
}
data[mx]=key;
}
}
//显示数据
public static void showData(char[] data)
{
int i;
for(i=0; idata.length; i++)
System.out.print(data[i]+"");
System.out.println();
}
public static void main(String[] args)
{
char[] data = https://www.04ip.com/post/{'9','8','7','6','5','4','3','2','1'};
Sort.selectSort(data);
Sort.showData(data);
Sort.insertSort(data);
Sort.showData(data);
}
}
这个程序还不够你的要求,你可以再修改修改
java中排序算法代码package temp;
import sun.misc.Sort;
/**
* @author zengjl
* @version 1.0
* @since 2007-08-22
* @Des java几种基本排序方法
*/
/**
* SortUtil:排序方法
* 关于对排序方法的选择:这告诉我们,什么时候用什么排序最好 。当人们渴望先知道排在前面的是谁时,
* 我们用选择排序;当我们不断拿到新的数并想保持已有的数始终有序时,我们用插入排序;当给出的数
* 列已经比较有序,只需要小幅度的调整一下时,我们用冒泡排序 。
*/
public class SortUtil extends Sort {
/**
* 插入排序法
* @param data
* @Des 插入排序(Insertion Sort)是,每次从数列中取一个还没有取出过的数 , 并按照大小关系插入到已经取出的数中使得已经取出的数仍然有序 。
*/
public int[] insertSort(int[] data) {
1/11页
int temp;
for (int i = 1; idata.length; i++) {
for (int j = i; (j0)(data[j]data[j - 1]); j--) {
swap(data, j, j - 1);
}
}

推荐阅读