Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define R 100
- #define RAND(R) rand()%R
- #define N 10
- #define CNT_PRN printf("Count compare: %ld\nCount copy: %ld\n\n", cnt_cmp, cnt_cpy);
- long cnt_cmp, cnt_cpy;///просто ни нада так делать
- int best_array(int a[], int n);
- int worst_array(int a[], int n);
- int avg_array(int a[], int n, int k);
- int printf_array(int a[], int n);
- int bubble_sort(int a[], int n);
- int merge_sort(int a[], int n);
- int main(int argc, char *argv[]) {
- int array[N];
- printf("BUBBLE:\n");
- best_array(array, N);
- bubble_sort(array, N);
- CNT_PRN
- cnt_cmp = cnt_cpy = 0;
- avg_array(array, N, 10);
- CNT_PRN
- cnt_cmp = cnt_cpy = 0;
- worst_array(array, N);
- bubble_sort(array, N);
- CNT_PRN
- return 0;
- }
- int best_array(int a[], int n){
- int i=0;
- for(i=0;i<n;i++) a[i]=i;
- return i;
- }
- int worst_array(int a[], int n){
- int i=0;
- for(i=0;i<n;i++) a[i]=n-1-i;
- return i;
- }
- int avg_array(int a[], int n, int k){
- int i=0, j=0;
- for(j=0;j<k;j++){
- srand(j);
- for(i=0;i<n;i++) a[i]=RAND(R);
- bubble_sort(a,n);
- }
- cnt_cmp/=k;
- cnt_cpy/=k;
- return j;
- }
- int printf_array(int a[], int n){
- int i=0;
- for(i=0;i<n;i++) printf("%d\t", a[i]);
- printf("\n\n");
- return i;
- }
- int bubble_sort(int a[], int n){
- int temp=0, r=n-1, i=0, k=0;
- while(r>0){
- k=0;
- for (i=0; i<r; i++){
- cnt_cmp++;
- if(a[i]>a[i+1]){
- temp = a[i];
- a[i]=a[i+1];
- a[i+1]=temp;
- cnt_cpy +=3;
- k=i;
- }
- }
- r=k;
- }
- }
- int merge_sort(int a[], int n){
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement