Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void SORT_WYBIERZ(int *A,int n);
- void SORT_WSTAW(int *A,int n);
- void SORT_BUBBLE(int*A,int n);
- void SORT_ZLICZ(int *A,int n);
- void main()
- {
- int i, tab[10] = {4,5,8,2,3,9,3,5,1,6}, dlugosc;
- printf("Tablica przed sortowaniem: ");
- for (i=0;i<10;i++) printf("%d ",tab[i]);
- dlugosc = sizeof (tab) / sizeof (int);
- printf ("\nDlugosc tablicy: %d",dlugosc);
- /*SORT_WYBIERZ(tab,dlugosc);
- printf("\nTablica po sortowaniu przez wybieranie: ");
- for (i=0;i<10;i++) printf ("%d ",tab[i]);
- SORT_WSTAW(tab,dlugosc);
- printf("\nTablica po sortowaniu przez wstawianie: ");
- for (i=0;i<dlugosc;i++) printf ("%d ",tab[i]);
- SORT_BUBBLE(tab,dlugosc);
- printf("\nTablica po sortowaniu przez wstawianie: ");
- for (i=0;i<dlugosc;i++) printf ("%d ",tab[i]);*/
- SORT_ZLICZ(tab,dlugosc);
- printf("\nTablica po sortowaniu przez wstawianie: ");
- for (i=0;i<dlugosc;i++) printf ("%d ",tab[i]);
- fflush(stdin);
- getchar();
- }
- void SORT_WYBIERZ(int *A,int n)
- {
- int i,j,ind,min;
- for(i=0;i<n-1;i++)
- {
- min=*(A+i);
- ind=i;
- for(j=i+1;j<n;j++)
- {
- if(*(A+j)<min)
- {
- min=*(A+j);
- ind=j;
- }
- }
- *(A+ind)=*(A+i);
- *(A+i)=min;
- }
- }
- void SORT_WSTAW(int *A,int n)
- {
- int i,j,key;
- for(i=1;i<n;i++)
- {
- key=*(A+i);
- j=i-1;
- while((j>=0)&&(*(A+j)>key))
- {
- *(A+j+1)=*(A+j);
- j=j-1;
- }
- *(A+j+1)=key;
- }
- }
- void SORT_BUBBLE(int *A,int n)
- {
- int i,j,temp;
- for(i=1;i<n;i++)
- {
- for(j=n-1;j>=i;j--)
- {
- if(*(A+j)<*(A+j-1))
- {
- temp=*(A+j);
- *(A+j)=*(A+j-1);
- *(A+j-1)=temp;
- }
- }
- }
- }
- //NIE DZIALA
- void SORT_ZLICZ(int *A,int n)
- {
- int i,k=0;
- int B[10],*C=NULL;
- for(i=0;i<n;i++)
- {
- if(A[i]>k)
- k=A[i];
- }
- //B=(int*)malloc(n*sizeof(int));
- C=(int*)malloc((k+1)*sizeof(int));
- for(i=0;i<=k;i++)
- C[i]=0;
- for(i=0;i<n;i++)
- C[A[i]]=C[A[i]]+1;
- for(i=0;i<=k;i++)
- C[i]=C[i]+C[i-1];
- for(i=n-1;i>=0;i--)
- {
- B[(C[(A[i])])-1] = A[i];
- C[A[i]]=C[A[i]]-1;
- }
- for(i=0;i<n;i++)
- A[i]=B[i];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement