日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java冒泡排序找最大的值_(13)數組操作:遍歷、輸出最大值、冒泡排序、選擇排序,java已有的排序方法、折半查找...

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java冒泡排序找最大的值_(13)數組操作:遍歷、輸出最大值、冒泡排序、選擇排序,java已有的排序方法、折半查找... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.數組遍歷

/*

* 獲取數組中元素,遍歷

*/

int []y=new y[3];

for(int i=0;i

{

System.out.println("y["+i+"]="+y[i]+";");

}

2.打印數組名,就是打印數組地址,輸出格式[數組數據類型@數組首地址(哈希地址)

System.out.println(y);???? 輸出:[I@15db9742

3.輸出數組最大值

/*

* 需求:獲取數組中的最大值

*/

public int MaxArr(int[] a) {

int max=a[0];//存放最大值

for(int i=0;i

if(a[i]>max) {

max=a[i];

}

}

return max;

}

/*

*調用MaxArr()方法,不能用數組名.,而是要用類對象.

*/

int[] arr= {10,5,9,45,2,47};

Demo d=new Demo();

int temp=d.MaxArr(arr);

System.out.println("arr數組的最大值:"+temp);

4、冒泡排序

/*

* 對給定的數組排序

* 思路:冒泡排序

* 1.外層控制進行的次數

* 2.內層來求剩余數組中的最大值

* 3.對冒泡排序優化:當某次沒有數組交換時,則說明未排序數組有序,不用再比較

*/

public void busort(int a[]) {

int flag=0;

for(inti=a.length-1;i>0;i--) {

flag=0;//每次比較前,置為0

for(int j=0;j

if(a[j]>a[j+1]) {

int temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

flag=1;//有比較,則置1

}

}

count++;

if(flag==0) {

break;//說明某次中沒有調換順序,則說明已有序

}

}

}

Demo d=new Demo();

調用: d.busort(arr); System.out.println("冒泡排序后數組數據從小到大輸出如下:"); d.prinArr(arr);

調用圖示:

5.選擇排序

/*

* 選擇排序:

* 思路:

* 1.每次讓未排序的第一個元素當最小值,對后面的依次比較,從而確定最小值,放在

* 這次未排序元素的第一位中。

* 2.其中涉及兩個元素位置交換問題

*

*/

public void Sort(int a[]) {

int min;

int temp;

for(int i=0;i

int index=i;

min=a[i];

for(int j=i;j

{

if(a[j]

min=a[j];

index=j;

}

}

temp=a[index];

a[index]=a[i];

a[i]=temp;

}

}

JAVA已經對數組排序功能實現集成了方法Arrays.sort(數組名);

即可實現對數組數據從小到大排序

六、數組折半查找

/*折半查找的前提是有序

* 折半查找數組中關鍵字,並返回數組下標

*

*/

public int midSelect(int a[],int key) {

int low,high,mid;

low=0;

high=a.length-1;

mid=(low+high)/2;

while(a[mid]!=key&&low<=high)//low>high則是不存在該值的情況 。若有該數,則a[mid]=key

{

if(a[mid]>key) //在mid左面比較

{

high=mid-1;

}

else if(a[mid]

{

low=mid+1;

}

mid=(low+high)/2;//下一次判斷是否夠該數做準備

}

low可以作為向有序數組插入數據的位置(畫圖理解)

//返回下標或者-1

if(a[mid]==key) {

return mid;}

else

return -1;

總結

以上是生活随笔為你收集整理的java冒泡排序找最大的值_(13)數組操作:遍歷、輸出最大值、冒泡排序、選擇排序,java已有的排序方法、折半查找...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。