C/C++の宿題を片付けます 80代目
■ このスレッドは過去ログ倉庫に格納されています
0103デフォルトの名無しさん
2007/01/01(月) 15:06:36#include<stdio.h>
#include<stdlib.h>
#define ARRAY_SIZE 10
typedef struct tag_qsort_data{
int *ptr;
}qsort_data;
int qsort_data_compare(const void *ptr1, const void *ptr2){
const qsort_data *a, *b;
a=ptr1;b=ptr2;
return *(b->ptr)-*(a->ptr);
}
int main(void){
qsort_data *qsort_array;
int a[ARRAY_SIZE];
int i, n=ARRAY_SIZE, swap_total_2=0;
for(i=0;i<n;i++) a[i]=rand()%100;
qsort_array=malloc(sizeof(qsort_data)*n);
for(i=0;i<n;i++) qsort_array[i].ptr=&a[i];
qsort(qsort_array, n, sizeof(qsort_array[0]), qsort_data_compare);
for(i=0;i<n;i++)
swap_total_2+=abs(qsort_array[i].ptr-&a[i]);
free(qsort_array);
printf("bubble sort swap num: %d\n", swap_total_2/2);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています