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

java中求中位數(shù)代碼,java輸入數(shù)組求中位數(shù)

JAVA怎么計算txt中一個1億個浮點數(shù)的中位數(shù)?

你這個應該是面試題吧,平時不會讓你做這樣的問題

成都創(chuàng)新互聯(lián)公司秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),網(wǎng)站設(shè)計制作、成都做網(wǎng)站,小程序制作,網(wǎng)頁設(shè)計制作,手機網(wǎng)站開發(fā),成都全網(wǎng)營銷幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。

首先要了解一下什么是中位數(shù),中位數(shù)就是數(shù)列中間的那個數(shù),

如果一個集合是奇數(shù)個,那么中位數(shù)就是按大小排列后,最中間那個數(shù),

如果一個集合是偶數(shù)個,那么中位數(shù)就是按大小排列后,最中間那2個數(shù)的平均數(shù)

那計算一個1億個浮點數(shù)的中位數(shù),說白了是要你排序,然后找到中間那兩個數(shù)字的平均數(shù)

剩下就是排序的算法部分了,無規(guī)律的隨機數(shù)字可以考慮快排算法

補充代碼(快排)

那就用快排好了

package quickSort;

public class QuickSort {

private static int count;

/**

* 測試

* @param args

*/

public static void main(String[] args) {

int[] num = {3,45,78,64,52,11,64,55,99,11,18};

System.out.println(arrayToString(num,"未排序"));

QuickSort(num,0,num.length-1);

System.out.println(arrayToString(num,"排序"));

System.out.println("數(shù)組個數(shù):"+num.length);

System.out.println("循環(huán)次數(shù):"+count);

}

/**

* 快速排序

* @param num 排序的數(shù)組

* @param left 數(shù)組的前針

* @param right 數(shù)組后針

*/

private static void QuickSort(int[] num, int left, int right) {

//如果left等于right,即數(shù)組只有一個元素,直接返回

if(left=right) {

return;

}

//設(shè)置最左邊的元素為基準值

int key=num[left];

//數(shù)組中比key小的放在左邊,比key大的放在右邊,key值下標為i

int i=left;

int j=right;

while(ij){

//j向左移,直到遇到比key小的值

while(num[j]=key ij){

j--;

}

//i向右移,直到遇到比key大的值

while(num[i]=key ij){

i++;

}

//i和j指向的元素交換

if(ij){

int temp=num[i];

num[i]=num[j];

num[j]=temp;

}

}

num[left]=num[i];

num[i]=key;

count++;

QuickSort(num,left,i-1);

QuickSort(num,i+1,right);

}

private static String arrayToString(int[] arr,String flag) {

String str = "數(shù)組為("+flag+"):";

for(int a : arr) {

str += a + "\t";

}return str;}}

java 如何求多個數(shù)的中位數(shù) 具體?。?!

package com.test;

import java.util.Arrays;

public class Test {

public static void main(String[] args) {

System.out.println(zhongweishu(7, 4, 8));

}

// 可換為多個數(shù),如參數(shù)為:int a,int b,int c,int d,int e

public static int zhongweishu(int a, int b, int c){

int[] nums = {a,b,c};

Arrays.sort(nums); // 數(shù)組從小到大排序

return nums[nums.length/2]; // 找出排序后中間的數(shù)組值

}

}

隨即產(chǎn)生N個隨即兩位正整數(shù),并按由大到小的順序排列,并求中位數(shù) 用JAVA程序 急?。。。?/h2>

import?java.util.Random;

public?class?GenerateNumber?{

public?static?void?main(String[]?args)?{

generate(31);

generate(22);

}

/**

*?隨即產(chǎn)生N個隨即兩位正整數(shù),并按由大到小的順序排列,并求中位數(shù)

*?@param?n?生成n個兩位正整數(shù)

*/

public?static?void?generate(int?n)?{

int[]?nums?=?new?int[n];//?初始化數(shù)組

//?隨機生成兩位正整數(shù)并對數(shù)組賦值

for?(int?i?=?0;?i??nums.length;?i++)?{

nums[i]?=?new?Random().nextInt(90)?+?10;

}

//?輸出排序前結(jié)果

System.out.print("排序前:");

for?(int?i?:?nums)?{

System.out.print(i?+?"?");

}

//?降序排列

for?(int?i?=?0;?i??nums.length;?i++)?{

for?(int?j?=?0;?j??i;?j++)?{

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

int?temp?=?nums[i];

nums[i]?=?nums[j];

nums[j]?=?temp;

}

}

}

//?輸出排序后結(jié)果

System.out.print("\n排序后:");

for?(int?i?:?nums)?{

System.out.print(i?+?"?");

}

//?輸出中位數(shù)

if?(n?%?2?==?0)?{

System.out.println("\n中位數(shù):"?+?nums[n?/?2?-?1]?+?"?"?+?nums[n?/?2]);

}?else?{

System.out.println("\n中位數(shù):"?+?nums[n?/?2]);

}

}

}

排序前:81?27?43?59?96?47?62?36?17?15?62?59?36?50?77?25?15?58?98?80?22?11?98?85?19?29?96?13?39?79?33?

排序后:98?98?96?96?85?81?80?79?77?62?62?59?59?58?50?47?43?39?36?36?33?29?27?25?22?19?17?15?15?13?11?

中位數(shù):47

排序前:14?86?18?76?13?40?92?26?58?52?24?57?81?40?53?67?23?73?63?52?36?19?

排序后:92?86?81?76?73?67?63?58?57?53?52?52?40?40?36?26?24?23?19?18?14?13?

中位數(shù):52?52

java2億個隨機生成的無序整數(shù),如何找到其中位數(shù)

public class Test2

{

public static void main(String [] srgs)

{

int i=(int)(Math.random()*900)+100;

//int i= new java.util.Random().nextInt(900)+100;也可以

System.out.println(i);

}

}

也就是要求100到999之間的隨機數(shù),

Math.random()返回的是0到1之間的隨機數(shù),返回類型為double型,大于等于0,小于1,

引用JDK1.6api

public static double random()返回帶正號的 double 值,該值大于等于 0.0 且小于 1.0。返回值是一個偽隨機選擇的數(shù),在該范圍內(nèi)(近似)均勻分布。

Math.random()*900,就是0到900之間的數(shù)了,可以取到0,但是取不到900,但是這個乘積是double類型的,將它強制轉(zhuǎn)換成int類型,然后加上100,就變成了可以取到100,但是取不到1000.完畢

新聞名稱:java中求中位數(shù)代碼,java輸入數(shù)組求中位數(shù)
標題鏈接:http://chinadenli.net/article46/heeheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務定制開發(fā)、手機網(wǎng)站建設(shè)搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈自適應網(wǎng)站

廣告

聲明:本網(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)

網(wǎng)站托管運營