33 * File designed and written by Kenneth Apeland
44 */
55///<reference path="EventManager.ts"/>
6- ///<reference path="View.ts"/>
6+ // /<reference path="View.ts"/>
77///<reference path="InitArray.ts"/>
88var n = 10 ;
99var sortArray = [ ] ;
1010var copyArray = [ ] ;
1111var running = true ;
1212function checkIfAlreadyRunning ( ) {
1313 manager . clear ( ) ;
14- viewer . setPause ( ) ;
14+ control . setPause ( ) ;
1515}
1616function startMergeSort ( ) {
1717 checkIfAlreadyRunning ( ) ;
1818 copyArray = returnArray ( ) ;
1919 mergesort ( copyArray ) ;
20- viewer . setColorInArrayElements ( copyArray , 3 , true ) ;
20+ control . setColorInArrayElements ( copyArray , 3 , true ) ;
2121}
2222function mergesort ( array ) {
2323 if ( array . length < 2 ) {
2424 //denne er ekkel
25- viewer . deselectPivotElement ( array [ 0 ] ) ;
25+ control . deselectPivotElement ( array [ 0 ] ) ;
2626 return array ;
2727 }
2828 else {
@@ -33,12 +33,12 @@ function mergesort(array) {
3333 left = array . slice ( 0 , mid ) ;
3434 right = array . slice ( mid ) ;
3535 //denne og er ekkel
36- viewer . setPivotElement ( right [ 0 ] ) ;
37- viewer . setColorInArrayElements ( left , 1 , true ) ;
38- viewer . setColorInArrayElements ( right , 2 , true ) ;
39- viewer . lowerElements ( left ) ;
40- viewer . lowerElements ( right ) ;
41- viewer . setColorInArrayElements ( array , 1 , false ) ;
36+ control . setPivotElement ( right [ 0 ] ) ;
37+ control . setColorInArrayElements ( left , 1 , true ) ;
38+ control . setColorInArrayElements ( right , 2 , true ) ;
39+ control . lowerElements ( left ) ;
40+ control . lowerElements ( right ) ;
41+ control . setColorInArrayElements ( array , 1 , false ) ;
4242 //Split until there is only 1 element left
4343 return merge ( mergesort ( left ) , mergesort ( right ) ) ;
4444 }
@@ -51,19 +51,19 @@ function merge(left, right) {
5151 var counter = copyArray . indexOf ( left [ 0 ] ) ;
5252 while ( tempLeftIndex < left . length && tempRightIndex < right . length ) {
5353 //Compare the elements from each array
54- viewer . setColorInArrayElement ( left [ tempLeftIndex ] , 0 , true ) ;
55- viewer . setColorInArrayElement ( right [ tempRightIndex ] , 0 , true ) ;
54+ control . setColorInArrayElement ( left [ tempLeftIndex ] , 0 , true ) ;
55+ control . setColorInArrayElement ( right [ tempRightIndex ] , 0 , true ) ;
5656 if ( left [ tempLeftIndex ] < right [ tempRightIndex ] ) {
57- viewer . setColorInArrayElement ( left [ tempLeftIndex ] , 3 , true ) ;
58- viewer . moveElementToPlace ( left [ tempLeftIndex ] , counter , copyArray . indexOf ( left [ tempLeftIndex ] ) ) ;
57+ control . setColorInArrayElement ( left [ tempLeftIndex ] , 3 , true ) ;
58+ control . moveElementToPlace ( left [ tempLeftIndex ] , counter , copyArray . indexOf ( left [ tempLeftIndex ] ) ) ;
5959 result . push ( left [ tempLeftIndex ] ) ;
6060 testing [ counter ] = left [ tempLeftIndex ] ;
6161 counter ++ ;
6262 tempLeftIndex ++ ;
6363 }
6464 else {
65- viewer . setColorInArrayElement ( right [ tempRightIndex ] , 3 , true ) ;
66- viewer . moveElementToPlace ( right [ tempRightIndex ] , counter , copyArray . indexOf ( right [ tempRightIndex ] ) ) ;
65+ control . setColorInArrayElement ( right [ tempRightIndex ] , 3 , true ) ;
66+ control . moveElementToPlace ( right [ tempRightIndex ] , counter , copyArray . indexOf ( right [ tempRightIndex ] ) ) ;
6767 result . push ( right [ tempRightIndex ] ) ;
6868 testing [ counter ] = right [ tempRightIndex ] ;
6969 counter ++ ;
@@ -72,25 +72,24 @@ function merge(left, right) {
7272 }
7373 if ( right . slice ( tempRightIndex ) . length > 0 ) {
7474 var moreRight = right . slice ( tempRightIndex ) ;
75- viewer . setColorInArrayElements ( moreRight , 3 , true ) ;
75+ control . setColorInArrayElements ( moreRight , 3 , true ) ;
7676 for ( var i = 0 ; i < moreRight . length ; i ++ ) {
77- viewer . moveElementToPlace ( moreRight [ i ] , counter , copyArray . indexOf ( moreRight [ i ] ) ) ;
77+ control . moveElementToPlace ( moreRight [ i ] , counter , copyArray . indexOf ( moreRight [ i ] ) ) ;
7878 testing [ counter ] = moreRight [ i ] ;
7979 counter ++ ;
8080 }
8181 }
8282 if ( left . slice ( tempLeftIndex ) . length > 0 ) {
8383 var moreLeft = left . slice ( tempLeftIndex ) ;
84- viewer . setColorInArrayElements ( moreLeft , 3 , true ) ;
84+ control . setColorInArrayElements ( moreLeft , 3 , true ) ;
8585 for ( var i = 0 ; i < moreLeft . length ; i ++ ) {
86- viewer . moveElementToPlace ( moreLeft [ i ] , counter , copyArray . indexOf ( moreLeft [ i ] ) ) ;
86+ control . moveElementToPlace ( moreLeft [ i ] , counter , copyArray . indexOf ( moreLeft [ i ] ) ) ;
8787 testing [ counter ] = moreLeft [ i ] ;
8888 counter ++ ;
8989 }
9090 }
91- if ( ! isSorted ( testing ) )
92- viewer . setColorInArrayElements ( testing , 3 , false ) ;
9391 copyArray = testing . slice ( 0 ) ;
92+ control . setColorInArrayElements ( testing , 3 , false ) ;
9493 return result . concat ( left . slice ( tempLeftIndex ) ) . concat ( right . slice ( tempRightIndex ) ) ;
9594}
9695function setRandomMyArray ( ) {
0 commit comments