数组中的第一和第二高元素,不使用系统定义的函数>排序>删除重复值>打印第一和第二高值



公共类SecondHieghestValueSolution{

public static void main(String[] args) {
int[] arr = {1,2,2,3,3,4,5,4,6,4,3,6,5,3};
int x, n = arr.length;

//分拣

for (int i = 1; i < arr.length; i++) {
for (int j = i; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
x = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = x;
}
}
}

//删除重复

int[] arr2 = new int[n];
int j = 0;
for(int i = 0; i<n -1; i++) {
if (arr[i] != arr[i+1]){  
arr2[j++] = arr[i];  
}  
}  
arr2[j++] = arr[n-1];     

//更改原始阵列

for (int i=0; i<j; i++){  
arr[i] = arr2[i];  
}  

int[] temp = new int[j];
for(int z = 0; z<j ; z++ ) {
temp[z] = arr[z];
}

//打印阵列中第一和第二大编号

System.out.println("The First Largest No. in the array is " + temp[temp.length -1]);
System.out.println("The Seconf Largest No. in the array is " + arr[temp.length -2]);
}

}

public static void main(String[] args) {
int[] arr = {1,2,2,3,3,4,5,4,6,4,3,6,5,3};
int x, n = arr.length;
for (int i = 1; i < arr.length; i++) {
for (int j = i; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
x = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = x;
}
}
}

int[] arr2 = new int[n];
int j = 0;
for(int i = 0; i<n -1; i++) {
if (arr[i] != arr[i+1]){  
arr2[j++] = arr[i];  
}  
}  
arr2[j++] = arr[n-1];     

for (int i=0; i<j; i++){  
arr[i] = arr2[i];  
}  

int[] temp = new int[j];
for(int z = 0; z<j ; z++ ) {
temp[z] = arr[z];
}
System.out.println("The First Largest No. in the array is " + temp[temp.length -1]);
System.out.println("The Seconf Largest No. in the array is " + arr[temp.length -2]);
}

最新更新