You need to sign in to do that
Don't have an account?
Shri Raj
List of Integers in Ascending/Descending order
I always get confused with indexing. I would like to print these numbers in Ascending & Descending order. Can someone help.
List<Integer> intergerList = new List<Integer> {33,2,45,343,433,22,111} ;
// DESCENDING ORDER
List<Integer> integerList = new List<integer>{4,5,5,443,3,2} ;
for(Integer i = 0 ; i < integerList.size() ; i ++) {
for(integer j = i+1 ; j <= integerList.size() -1 ; j ++ ){
integer x = 0 ;
if(integerList[i] < integerList[j]){
x = integerList[i] ;
integerList[i] = integerList[j] ;
integerList[j] = x;
system.debug(integerList) ;
}
}
}
// ASCENDING ORDER
List<Integer> integerList = new List<integer>{4,5,5,443,3,2} ;
for(Integer i = 0 ; i < integerList.size() ; i ++) {
for(integer j = i+1 ; j <= integerList.size() -1 ; j ++ ){
integer x = 0 ;
if(integerList[i] > integerList[j]){
x = integerList[i] ;
integerList[i] = integerList[j] ;
integerList[j] = x;
system.debug(integerList) ;
}
}
}
All Answers
List has sort() method. It sorts item in in ascending order. https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_list.htm#apex_System_List_sort
To get descending order just reverse the list manualy(Maybe there's built-in solution but I don't know about it).
// DESCENDING ORDER
List<Integer> integerList = new List<integer>{4,5,5,443,3,2} ;
for(Integer i = 0 ; i < integerList.size() ; i ++) {
for(integer j = i+1 ; j <= integerList.size() -1 ; j ++ ){
integer x = 0 ;
if(integerList[i] < integerList[j]){
x = integerList[i] ;
integerList[i] = integerList[j] ;
integerList[j] = x;
system.debug(integerList) ;
}
}
}
// ASCENDING ORDER
List<Integer> integerList = new List<integer>{4,5,5,443,3,2} ;
for(Integer i = 0 ; i < integerList.size() ; i ++) {
for(integer j = i+1 ; j <= integerList.size() -1 ; j ++ ){
integer x = 0 ;
if(integerList[i] > integerList[j]){
x = integerList[i] ;
integerList[i] = integerList[j] ;
integerList[j] = x;
system.debug(integerList) ;
}
}
}
Here's implementation of QSort algorythm. It's sorting in ascending order
Usage
And this is much faster than yours buble sort. But if List is small it realy doesn't matter.