public class SearchOrder {
/**
* @param args
*/
public static void main(String[] args) {
int[] value = {9,1,3,4,5,10,7,4,11,6};
int[] check = new int[10];
int[] saveArray = new int[10];
int index = 0;
int innerIndex = 0;
int ascLength = 0;
int j = 0, n = 0;
int bao = 0;
for (int i = 0; i < value.length; i++) {
n = value[i];
innerIndex = i;
while(innerIndex < value.length && innerIndex != -1) {
index = innerIndex;
while((index = searchNextBigNum(n, value, index)) != value.length){
check = putValueToArray(check, index);
n = value[index];
j++;
}
n = value[i];
if (check[0] != 0)
innerIndex = check[0];
else innerIndex = -1;
if(ascLength < j) {
bao = i;
ascLength = j;
saveArray = check;
}
j = 0;
check = new int[10];
}
}
System.out.print( bao + " ");
for(int k = 0; k < saveArray.length; k++)
System.out.print(saveArray[k] + " ");
}
/**
*
* @param data
* @param value
* @param index
* @return
*/
private static int searchNextBigNum(int data, int[] value, int index) {
if(index >= value.length - 1)
return value.length;
for(index = index + 1; index < value.length; index++) {
if(data < value[index])
return index;
}
return value.length;
}
/**
*
* @param value
* @param data
* @return
*/
private static int[] putValueToArray(int[] value, int data) {
for(int i = 0; i < value.length; i++)
if (value[i] == 0) {
value[i] = data;
return value;
}
return value;
}
}
/**
* @param args
*/
public static void main(String[] args) {
int[] value = {9,1,3,4,5,10,7,4,11,6};
int[] check = new int[10];
int[] saveArray = new int[10];
int index = 0;
int innerIndex = 0;
int ascLength = 0;
int j = 0, n = 0;
int bao = 0;
for (int i = 0; i < value.length; i++) {
n = value[i];
innerIndex = i;
while(innerIndex < value.length && innerIndex != -1) {
index = innerIndex;
while((index = searchNextBigNum(n, value, index)) != value.length){
check = putValueToArray(check, index);
n = value[index];
j++;
}
n = value[i];
if (check[0] != 0)
innerIndex = check[0];
else innerIndex = -1;
if(ascLength < j) {
bao = i;
ascLength = j;
saveArray = check;
}
j = 0;
check = new int[10];
}
}
System.out.print( bao + " ");
for(int k = 0; k < saveArray.length; k++)
System.out.print(saveArray[k] + " ");
}
/**
*
* @param data
* @param value
* @param index
* @return
*/
private static int searchNextBigNum(int data, int[] value, int index) {
if(index >= value.length - 1)
return value.length;
for(index = index + 1; index < value.length; index++) {
if(data < value[index])
return index;
}
return value.length;
}
/**
*
* @param value
* @param data
* @return
*/
private static int[] putValueToArray(int[] value, int data) {
for(int i = 0; i < value.length; i++)
if (value[i] == 0) {
value[i] = data;
return value;
}
return value;
}
}