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;
}
}