Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tests/searchsort.c

    rf2cdc44 ra6151ba  
    1010// Created On       : Thu Feb  4 18:17:50 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Apr  2 11:29:30 2017
    13 // Update Count     : 76
     12// Last Modified On : Tue Jul  5 18:06:07 2016
     13// Update Count     : 56
    1414//
    1515
    1616#include <fstream>
    1717#include <stdlib>                                                                               // bsearch, qsort
    18 #include <stdlib.h>                                                                             // C version of bsearch
    19 
    20 int comp( const void * t1, const void * t2 ) { return *(int *)t1 < *(int *)t2 ? -1 : *(int *)t2 < *(int *)t1 ? 1 : 0; }
    2118
    2219int main( void ) {
     
    2825                sout | iarr[i] | ", ";
    2926        } // for
    30         sout | endl | endl;
    31 
    32         // ascending sort/search by changing < to >
     27        sout | endl;
    3328        qsort( iarr, size );
    3429        for ( unsigned int i = 0; i < size; i += 1 ) {
     
    3631        } // for
    3732        sout | endl;
    38         for ( unsigned int i = 0; i < size; i += 1 ) {          // C version
    39                 int key = size - i;
    40                 int *v = bsearch( &key, iarr, size, sizeof( iarr[0] ), comp );
    41                 sout | *v | ", ";
    42         } // for
    43         sout | endl;
    4433        for ( unsigned int i = 0; i < size; i += 1 ) {
    4534                int *v = bsearch( size - i, iarr, size );
    4635                sout | *v | ", ";
    47         } // for
    48         sout | endl;
    49         for ( unsigned int i = 0; i < size; i += 1 ) {
    50                 unsigned int posn = bsearch( size - i, iarr, size );
    51                 sout | iarr[posn] | ", ";
    5236        } // for
    5337        sout | endl | endl;
     
    7054                        sout | *v | ", ";
    7155                } // for
    72                 sout | endl;
    73                 for ( unsigned int i = 0; i < size; i += 1 ) {
    74                         unsigned int posn = bsearch( size - i, iarr, size );
    75                         sout | iarr[posn] | ", ";
    76                 } // for
    7756        }
    7857        sout | endl | endl;
     
    9271                double *v = bsearch( size - i + 0.5, darr, size );
    9372                sout | *v | ", ";
    94         } // for
    95         sout | endl;
    96         for ( unsigned int i = 0; i < size; i += 1 ) {
    97                 unsigned int posn = bsearch( size - i + 0.5, darr, size );
    98                 sout | darr[posn] | ", ";
    9973        } // for
    10074        sout | endl | endl;
     
    11993                sout | *v | ", ";
    12094        } // for
    121         sout | endl;
    122         for ( unsigned int i = 0; i < size; i += 1 ) {
    123                 S temp = { size - i, size - i + 1 };
    124                 unsigned int posn = bsearch( temp, sarr, size );
    125                 sout | sarr[posn] | ", ";
    126         } // for
    12795        sout | endl | endl;
    12896} // main
Note: See TracChangeset for help on using the changeset viewer.