//sorting by not moving the data but only ponter position
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<malloc.h>
#define MAX 7
static int * ptr[ MAX] ;
void sort( int A[ ] ) ;
void display( ) ;
int main( )
{
int A[ ] = { 11 ,89 ,65 ,2 ,5 ,9 ,1 } ;
int i;
for ( i= 0 ; i< MAX; i++ )
ptr[ i] = & ( A[ i] ) ;
sort( A) ;
cout << "\n " << * ptr[ 0 ] << " " << * ptr[ 1 ] ;
cout << "\n AFTER SORTING - \n " ;
display( ) ;
getch( ) ;
return 0 ;
}
void sort( int A[ ] )
{
int i ;
//int **a = &ptr[0];
for ( i= 0 ; i< MAX- 1 ; i++ )
{
cout << "\n case number = " << i;
for ( int j = 0 ; j< MAX- i; j++ )
{
if ( ( * ( ptr[ j] ) ) > ( * ( ptr[ j+ 1 ] ) ) ) //this means A[j] > A[j+1]
{
int * a = ptr[ j+ 1 ] ;
ptr[ j+ 1 ] = ptr[ j] ;
ptr[ j] = a;
display( ) ;
}
}
} //end of outer loop
} //end of function
void display( )
{
int i;
cout << "\n " ;
for ( i= 0 ; i< MAX; i++ )
cout << " " << * ptr[ i] ;
//for(i=0;i<MAX;i++)
//cout<<" "<<ptr[i];
}
Ly9zb3J0aW5nIGJ5IG5vdCBtb3ZpbmcgdGhlIGRhdGEgYnV0IG9ubHkgcG9udGVyIHBvc2l0aW9uCiNpbmNsdWRlPGNvbmlvLmg+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPGlvc3RyZWFtLmg+CiNpbmNsdWRlPG1hbGxvYy5oPgojZGVmaW5lIE1BWCA3CnN0YXRpYyBpbnQgKnB0cltNQVhdOwp2b2lkIHNvcnQoaW50IEFbXSk7CnZvaWQgZGlzcGxheSgpOwppbnQgbWFpbigpCnsKCWludCBBW10gPSB7MTEsODksNjUsMiw1LDksMX07CgkKCQoJaW50IGk7Cglmb3IoaT0wO2k8TUFYO2krKykKCXB0cltpXSA9ICYoQVtpXSk7Cgpzb3J0KEEpOwpjb3V0PDwiXG4iPDwqcHRyWzBdPDwiICAiPDwqcHRyWzFdOwpjb3V0PDwiXG4gQUZURVIgU09SVElORyAtIFxuIjsKZGlzcGxheSgpOwpnZXRjaCgpOwkKcmV0dXJuIDA7Cn0Kdm9pZCBzb3J0KGludCBBW10pCnsKaW50IGkgOwogIC8vaW50ICoqYSA9ICZwdHJbMF07Cglmb3IoaT0wO2k8TUFYLTE7aSsrKQoJewkKY291dDw8IlxuIGNhc2UgbnVtYmVyID0gIjw8aTsKCWZvcihpbnQgaiA9IDA7ajxNQVgtaTtqKyspCgl7ICAgCQkKCQlpZigoKihwdHJbal0pKT4gKCoocHRyW2orMV0pKSkgLy90aGlzIG1lYW5zIEFbal0gPiBBW2orMV0KCQl7CgkJCWludCAqYSA9IHB0cltqKzFdOwogICAJCQlwdHJbaisxXSA9IHB0cltqXTsKCQkJcHRyW2pdID0gYTsKCQkJZGlzcGxheSgpOwoJCQkKCQl9Cgl9Cgl9Ly9lbmQgb2Ygb3V0ZXIgbG9vcAp9Ly9lbmQgb2YgZnVuY3Rpb24Kdm9pZCBkaXNwbGF5KCkKewogICAgIGludCBpOwogICAgIGNvdXQ8PCJcbiI7CmZvcihpPTA7aTxNQVg7aSsrKQpjb3V0PDwiICAiPDwqcHRyW2ldOwovL2ZvcihpPTA7aTxNQVg7aSsrKQovL2NvdXQ8PCIgIjw8cHRyW2ldOyAKCn0KCgkK