真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

JAVA怎么計(jì)算txt中一個(gè)1億個(gè)浮點(diǎn)數(shù)的中位數(shù)?

你這個(gè)應(yīng)該是面試題吧,平時(shí)不會(huì)讓你做這樣的問(wèn)題

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

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

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

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

那計(jì)算一個(gè)1億個(gè)浮點(diǎn)數(shù)的中位數(shù),說(shuō)白了是要你排序,然后找到中間那兩個(gè)數(shù)字的平均數(shù)

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

補(bǔ)充代碼(快排)

那就用快排好了

package quickSort;

public class QuickSort {

private static int count;

/**

* 測(cè)試

* @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ù)組個(gè)數(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ù)組只有一個(gè)元素,直接返回

if(left=right) {

return;

}

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

int key=num[left];

//數(shù)組中比key小的放在左邊,比key大的放在右邊,key值下標(biāo)為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 如何求多個(gè)數(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));

}

// 可換為多個(gè)數(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個(gè)隨即兩位正整數(shù),并按由大到小的順序排列,并求中位數(shù) 用JAVA程序 急?。。?!

import?java.util.Random;

public?class?GenerateNumber?{

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

generate(31);

generate(22);

}

/**

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

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

*/

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

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

//?隨機(jī)生成兩位正整數(shù)并對(duì)數(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億個(gè)隨機(jī)生成的無(wú)序整數(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之間的隨機(jī)數(shù),

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

引用JDK1.6api

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

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


網(wǎng)站標(biāo)題:java中求中位數(shù)代碼,java輸入數(shù)組求中位數(shù)
文章地址:http://weahome.cn/article/heeheg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部