欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java排序課程表代碼 java排序課程表代碼怎么用

Java幾種簡單的排序源代碼

給你介紹4種排序方法及源碼,供參考

10余年的環(huán)江網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整環(huán)江建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“環(huán)江網(wǎng)站設(shè)計”,“環(huán)江網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

1.冒泡排序

主要思路: 從前往后依次交換兩個相鄰的元素,大的交換到后面,這樣每次大的數(shù)據(jù)就到后面,每一次遍歷,最大的數(shù)據(jù)到達最后面,時間復(fù)雜度是O(n^2)。

public?static?void?bubbleSort(int[]?arr){

for(int?i?=0;?i??arr.length?-?1;?i++){

for(int?j=0;?j??arr.length-1;?j++){

if(arr[j]??arr[j+1]){

arr[j]?=?arr[j]^arr[j+1];

arr[j+1]?=?arr[j]^arr[j+1];

arr[j]?=?arr[j]^arr[j+1];

}

}

}

}

2.選擇排序

主要思路:每次遍歷序列,從中選取最小的元素放到最前面,n次選擇后,前面就都是最小元素的排列了,時間復(fù)雜度是O(n^2)。

public?static?void?selectSort(int[]?arr){

for(int?i?=?0;?i?arr.length?-1;?i++){

for(int?j?=?i+1;?j??arr.length;?j++){

if(arr[j]??arr[i]){

arr[j]?=?arr[j]^arr[i];

arr[i]?=?arr[j]^arr[i];

arr[j]?=?arr[j]^arr[i];

}

}

}

}

3.插入排序

主要思路:使用了兩層嵌套循環(huán),逐個處理待排序的記錄。每個記錄與前面已經(jīng)排好序的記錄序列進行比較,并將其插入到合適的位置,時間復(fù)雜度是O(n^2)。

public?static?void?insertionSort(int[]?arr){

int?j;

for(int?p?=?1;?p??arr.length;?p++){

int?temp?=?arr[p];???//保存要插入的數(shù)據(jù)

//將無序中的數(shù)和前面有序的數(shù)據(jù)相比,將比它大的數(shù),向后移動

for(j=p;?j0??temp?arr[j-1];?j--){

arr[j]?=?arr[j-1];

}

//正確的位置設(shè)置成保存的數(shù)據(jù)

arr[j]?=?temp;

}

}

4.希爾排序

主要思路:用步長分組,每個分組進行插入排序,再慢慢減小步長,當步長為1的時候完成一次插入排序,? 希爾排序的時間復(fù)雜度是:O(nlogn)~O(n2),平均時間復(fù)雜度大致是O(n^1.5)

public?static?void?shellSort(int[]?arr){

int?j?;

for(int?gap?=?arr.length/2;?gap??0?;?gap/=2){

for(int?i?=?gap;?i??arr.length;?i++){

int?temp?=?arr[i];

for(j?=?i;?j=gap??temparr[j-gap];?j-=gap){

arr[j]?=?arr[j-gap];

}

arr[j]?=?temp;

}

}

}

請問一下java快速排序源代碼

快速排序:

package org.rut.util.algorithm.support;

import org.rut.util.algorithm.SortUtil;

/**

* @author treeroot

* @since 2006-2-2

* @version 1.0

*/

public class QuickSort implements SortUtil.Sort{

/* (non-Javadoc)

* @see org.rut.util.algorithm.SortUtil.Sort#sort(int[])

*/

public void sort(int[] data) {

quickSort(data,0,data.length-1);

}

private void quickSort(int[] data,int i,int j){

int pivotIndex=(i+j)/2;

//swap

SortUtil.swap(data,pivotIndex,j);

int k=partition(data,i-1,j,data[j]);

SortUtil.swap(data,k,j);

if((k-i)1) quickSort(data,i,k-1);

if((j-k)1) quickSort(data,k+1,j);

}

/**

* @param data

* @param i

* @param j

* @return

*/

private int partition(int[] data, int l, int r,int pivot) {

do{

while(data[++l]pivot);

while((r!=0)data[--r]pivot);

SortUtil.swap(data,l,r);

}

while(lr);

SortUtil.swap(data,l,r);

return l;

}

}

改進后的快速排序:

package org.rut.util.algorithm.support;

import org.rut.util.algorithm.SortUtil;

/**

* @author treeroot

* @since 2006-2-2

* @version 1.0

*/

public class ImprovedQuickSort implements SortUtil.Sort {

private static int MAX_STACK_SIZE=4096;

private static int THRESHOLD=10;

/* (non-Javadoc)

* @see org.rut.util.algorithm.SortUtil.Sort#sort(int[])

*/

public void sort(int[] data) {

int[] stack=new int[MAX_STACK_SIZE];

int top=-1;

int pivot;

int pivotIndex,l,r;

stack[++top]=0;

stack[++top]=data.length-1;

while(top0){

int j=stack[top--];

int i=stack[top--];

pivotIndex=(i+j)/2;

pivot=data[pivotIndex];

SortUtil.swap(data,pivotIndex,j);

//partition

l=i-1;

r=j;

do{

while(data[++l]pivot);

while((r!=0)(data[--r]pivot));

SortUtil.swap(data,l,r);

}

while(lr);

SortUtil.swap(data,l,r);

SortUtil.swap(data,l,j);

if((l-i)THRESHOLD){

stack[++top]=i;

stack[++top]=l-1;

}

if((j-l)THRESHOLD){

stack[++top]=l+1;

stack[++top]=j;

}

}

//new InsertSort().sort(data);

insertSort(data);

}

/**

* @param data

*/

private void insertSort(int[] data) {

int temp;

for(int i=1;idata.length;i++){

for(int j=i;(j0)(data[j]data[j-1]);j--){

SortUtil.swap(data,j,j-1);

}

}

}

}

用Java怎樣實現(xiàn)課表代碼?有周次

課表數(shù)據(jù)時存儲于數(shù)據(jù)庫中的嗎?

/**

* 獲取一周的時間集合(從周一到周日)

* @param weekNum ;-1:上周;0:本周;1:下周

*/

public static ListDate getWeekDates(int weekNum){

ListDate list = new ArrayListDate();

Calendar cal = Calendar.getInstance();

// 獲取指定下幾個星期

cal.add(Calendar.DAY_OF_WEEK, weekNum * 7);

cal.setFirstDayOfWeek(Calendar.MONDAY);

cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

list.add(cal.getTime());

for(int i = 0;i 6;i++){

cal.add(Calendar.DAY_OF_WEEK, 1);

list.add(cal.getTime());

}

return list;

}

這個是獲取這一周時間的代碼 ,之后用下面的代碼獲取周一到周日的日期

ListDate ds = DateUtil.getNowWeekDates(weekNum);

ds.get(0)//周一

ds.get(6)//周日

用這兩個時間到數(shù)據(jù)庫中進行范圍查詢,之后的你應(yīng)該明白了吧

請幫我用JAVA數(shù)組的方式編寫一個課程表,感激不盡!

public class IdUtil {

public static void main(String[] args) {

//七天的課程

String[] week = new String[7];

//每天的課程名

week[0] = "語文,語文,語文,語文,語文,語文,語文,語文,語文,語文";

week[1] = "數(shù)學,數(shù)學,數(shù)學,數(shù)學,數(shù)學,數(shù)學,數(shù)學,數(shù)學,數(shù)學,數(shù)學";

week[2] = "外語,外語,外語,外語,外語,外語,外語,外語,外語,外語";

week[3] = "物理,物理,物理,物理,物理,物理,物理,寂寞學,物理,物理";

week[4] = "化學,化學,化學,化學,化學,化學,化學,化學,化學,化學";

week[5] = "生物,生物,生物,生物,生物,生物,生物,生物,生物,生物";

week[6] = "寂寞學,寂寞學,寂寞學,寂寞學,寂寞學,寂寞學,寂寞學,寂寞學,寂寞學,寂寞學";

//上課時間

String[] time = {"8:00","9:00","8:00","8:00","8:00","8:00","8:00","8:00","8:00","8:00"};

for(int a=1;a8;a++){

System.out.print("\t"+"星期"+a);

}

System.out.println();

int b = 0;

for(int i=1;i11;i++){

switch (i) {

case 1:

System.out.println("上午");

break;

case 5:

System.out.println("下午");

break;

case 9:

System.out.println("晚上");

break;

}

System.out.print(time[i-1]+"\t");

for(int j=0;j7;j++){

System.out.print(week[j].split(",")[b]+"\t");

}

System.out.println();

b++;

}

}

}

Java制作學生排序系統(tǒng),通過學生編號,姓名,課程編號,成績排序,讀文件獲取信息,根據(jù)文件信息進行排序

先簡單的分析過程,然后貼出代碼.

一:分析文件

文件信息第一行 "5" 表示后面有5條信息

學生信息有5行,每一行使用了逗號隔開

學生信息的后面是排序的規(guī)則1代表 按照第一列排序,2代表按照第二列排序,..A代表正序,D代表倒序.

關(guān)于排序還要注意分析文檔,比如按照課程名排序,如果 課程名相同,那么 就按照成績從低到高排列

文件信息末尾行 "0" 表示文檔結(jié)束

二:關(guān)于排序的語法;

1: 傳統(tǒng)的排序語法, 可以使用匿名內(nèi)部類, 但是顯得比較繁瑣,

2:java8后可以使用流處理加上lambda表達式來簡化代碼.

三: 代碼到網(wǎng)盤下載百度網(wǎng)盤代碼下載7天有效

源文件說明 運行Test.java 即可看到效果

網(wǎng)站標題:java排序課程表代碼 java排序課程表代碼怎么用
瀏覽路徑:http://chinadenli.net/article48/hejdep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)App開發(fā)網(wǎng)站制作網(wǎng)頁設(shè)計公司網(wǎng)站改版Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)