Zgryźliwość kojarzy mi się z radością, która źle skończyła.

/* radixsort – wersja A               */

 

#include<stdio.h>

#include<string.h>

 

const int w=9;    /* liczba wierszy   */

const int k=4;    /* liczba kolumn    */

const int s=24;   /* rozmiar alfabetu */

 

void countsort(char [][k],int);

void radixsort(char dane[][k]);

void write(char [][k]);

 

 

int main(void)

{  

 

              char dane[w][k] =

              {"aba","aaa","bab",

              "cac","bac","bca",

              "bab","abb","baa"};

 

    radixsort(dane);

 

    return 0;

}

 

 

 

void write(char dane[w][k])

{

int licz;

 

printf("\n\n");

 

for(licz=0;licz<w;licz++) puts(dane[licz]);

 

}

void countsort(char dane[w][k], int p)

{              int i,j;

 

    char x;

 

              int count[s]={0};

 

              char temp[w][k-1];

 

              /* zliczanie */

 

              for(i=0;i<w;i++) count[dane[i][p] - 97]++;

 

              for(i=1;i<s;i++) count[i] += count[i-1];

 

              for(i=0;i<s;i++) if(count[i]) count[i]--;

 

              /* porzadkowanie */

 

              for(i=w-1;i>=0;i--)

              {

                x=dane[i][p];

     

                for(j=0;j<k-1;j++)

 

                            temp[count[x-97]][j]=dane[i][j];

               

                count[x-97]--;

              }

  

              /* przepisywanie */

 

    for(i=0;i<w;i++)

 

              for(j=0;j<k-1;j++)             

 

                dane[i][j]=temp[i][j];

}

 

void radixsort(char dane[w][k])

{

              write(dane);

 

    for(int i=k-2; i>=0;i--)

              {

                countsort(dane,i);

     

                write(dane);

    }

}

 

 

 

 

aaa

baa

bab

bab

cac

bac

aba

abb

bca

 

aba

aaa

bca

baa

bab

bab

abb

cac

bac

 

 

aba

aaa

bab

cac

bac

bca

bab

abb

baa

 

aaa

aba

abb

baa

bab

bab

bac

bca

cac

aaa

baa

bab

bab

cac

bac

aba

abb

bca

 

 

 

 

 

 

 

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • hannaeva.xlx.pl