一維數(shù)組最后幾題(java)

1、在一組排序好的數(shù)組中,插入一個數(shù)。

int[] a = { 90, 80, 70, 60, 50, 40, 30, 20, 10, 0 };

? ? ? ? ? ? int b = 25;

? ? ? ? ? ? for (int i = 0; i <= a.length - 2; i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? if (b > a[i])

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? for (int j = a.length - 2; j >= i; j--)

? ? ? ? ? ? ? ? ? ? {

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

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? a[i] = b;

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? for (int i = 0; i < a.length; i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? System.out.print(a[i] + " ");

? ? ? ? ? ? }

2、對一個亂序的一維數(shù)組排序

int[] a = { 1, 3, 5, 2, 4, 6 };

?????????????????? int t;

?????????????????? for(int j = 1; j <= a.length - 1; j++)

?????????????????? {

??????????????????????????? for(int i = a.length - 1; i >= j; i--)

??????????????????????????? {

???????????????????????????????????? if(a[i - 1] > a[i])

???????????????????????????????????? {

?????????????????????????????????????????????? t= a[i - 1];

?????????????????????????????????????????????? a[i- 1] = a[i];

?????????????????????????????????????????????? a[i]= t;

???????????????????????????????????? }

??????????????????????????? }

?????????????????? }

?????????????????? for(int k = 0; k < a.length; k++)

?????????????????? {

??????????????????????????? System.out.print(a[k]+ " ");

?????????????????? }

3、求一組數(shù)中的最大值和第二大值

int[] a= {1,4,7,2,5,8,3,6,9};

?????????????????? intmax1=0,max2=0;

?????????????????? for(inti=0;i

?????????????????? {

??????????????????????????? if(a[i]>max1)

??????????????????????????? {

???????????????????????????????????? max2=max1;

???????????????????????????????????? max1=a[i];

??????????????????????????? }

??????????????????????????? elseif(a[i]>max2)

??????????????????????????? {

???????????????????????????????????? max2=a[i];

??????????????????????????? }

?????????????????? }

?????????????????? System.out.println(max1);

?????????????????? System.out.println(max2);

4、求一組數(shù)中的前n個最大值

int[] a= {1,4,7,2,5,8,3,6,9},b;

?????????????????? intc;

?????????????????? Scannerscan=new Scanner(System.in);

?????????????????? System.out.println("想對前幾個數(shù)排序?");

?????????????????? c=scan.nextInt();

?????????????????? scan.close();

?????????????????? b=newint[c];

?????????????????? for(inti=0;i

?????????????????? {

??????????????????????????? for(intj=0;j

??????????????????????????? {

???????????????????????????????????? if(a[i]>b[j])

???????????????????????????????????? {

?????????????????????????????????????????????? for(intk=b.length-2;k>=j;k--)

?????????????????????????????????????????????? {

??????????????????????????????????????????????????????? b[k+1]=b[k];

?????????????????????????????????????????????? }

?????????????????????????????????????????????? b[j]=a[i];

?????????????????????????????????????????????? break;

???????????????????????????????????? }

??????????????????????????? }

?????????????????? }

?????????????????? System.out.println("數(shù)組中最大的前"+c+"個是:");

?????????????????? for(int k = 0; k < b.length; k++)

?????????????????? {

??????????????????????????? System.out.print(b[k]+ " ");

?????????????????? }

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容