- insertion sort algorithm flaw in java code
- public void insertionSort(){
- int key;
- int i;
- for ( int j = 0; j < this.a.length; j++ ){
- key = a[j];
- i = j - 1;
- while ( i > 0 && a[i] > key ){
- a[i + 1] = a[i];
- i = i - 1;
- }
- a[i+1] = key;
- }
- }
- jan@janspc:~/Dropbox/programming/java/algorithms$ vim sort.java
- jan@janspc:~/Dropbox/programming/java/algorithms$ javac sort.java
- jan@janspc:~/Dropbox/programming/java/algorithms$ java Test
- 49, 68, 60, 14, 70, 8, 83, 96, 29, 7, 92, 35, 17, 84, 31, 62, 48, 95, 16, 22, 31, 97, 72, 55, 88, 63, 1, 63, 96, 32, 74, 15, 92, 77, 50, 13, 12, 36, 90, 93, 20, 15, 67, 88, 23, 31, 95, 90, 86, 65, 35, 27, 60, 4, 90, 11, 22, 97, 65, 88, 23, 1, 25, 21, 9, 81, 87, 56, 2, 4, 63, 52, 55, 86, 62, 30, 55, 64, 19, 10, 45, 92, 87, 43, 39, 95, 20, 43, 3, 30, 74, 64, 4, 90, 91, 93, 94, 44, 87, 21,
- 49, 1, 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 16, 17, 19, 20, 20, 21, 21, 22, 22, 23, 23, 25, 27, 29, 30, 30, 31, 31, 31, 32, 35, 35, 36, 39, 43, 43, 44, 45, 48, 50, 52, 55, 55, 55, 56, 60, 60, 62, 62, 63, 63, 63, 64, 64, 65, 65, 67, 68, 70, 72, 74, 74, 77, 81, 83, 84, 86, 86, 87, 87, 87, 88, 88, 88, 90, 90, 90, 90, 91, 92, 92, 92, 93, 93, 94, 95, 95, 95, 96, 96, 97, 97,
- Executon took: 110628 nano sek?
- while ( i >= 0 && a[i] > key ){
- public void insertionSort(){
- int key;
- int i;
- for ( int j = 1; j < this.a.length; j++ ){
- key = a[j];
- i = j;
- while ( i > 0 && a[i-1] > key ){
- a[i] = a[i-1];
- i = i - 1;
- }
- a[i] = key;
- }
- }
- key = A[j]>
- i = j-1
- while i>0 && A[i]>key
- A[i+1] = A[i]
- i = i-1
- A[i+1] = key
- for ( int j = 1; j < this.a.length; j++ ){
- key = a[j];
- i = j - 1;
- while ( i > 0 && a[i] > key ){
- a[i + 1] = a[i];
- i = i - 1;
- }
- a[i+1] = key;
- }