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]+ " ");
?????????????????? }