//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //@ Yap Hui Wen @ //@ 99006448 @ //@ Data Structures II Assignment 1 @ //@ Last Edited: 24 March 2002 @ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #include #include #include #include const int MAX=60000; //maximum list size /******************************************************************/ int Acceptlist(int i) { int value[MAX]; cin>>value[i]; return value[i]; } /******************************************************************/ template void quickSort(ElementType x[], int first, int last) { int pos; //position of pivot if(first void Split(ElementType y[],int first, int last, int &pos) { ElementType pivot=y[first]; //pivot element int left=first; //index for left search bool onCorrectSide; ++first; do{ onCorrectSide=true; while (onCorrectSide){ //move from left to right if(y[first]>pivot) onCorrectSide=false; else{ ++first; onCorrectSide=(first<=last); } } onCorrectSide=(first<=last); while(onCorrectSide){ //move from right to left if(y[last]<=pivot) onCorrectSide=false; else{ --last; onCorrectSide=(first<=last); } } if(first void Swap(ElementType &a,ElementType &b) { ElementType temp=a; a=b; b=temp; } /******************************************************************/ template void exchange (DataType a[], int i, int j) { DataType temp=a[i]; a[i]=a[j]; a[j]=temp; } /******************************************************************/ void insertionSort (int a[]) { int i,j; for(i=1;i0 && (a[j] void bubbleSort(DataType a[]) { bool change; do{ change=false; //next sweep to ensure that for(int i=0; ia[i+1]) { exchange (a,i,i+1); change= true; } }while (change); } /******************************************************************/ template void selectionSort( DataType a[]) { int i,j; for(i=0;i