Practical 9
#include <stdio.h>
#include <stdlib.h>
int *array;
int cmp(const void *a, const void *b)
{
int ia = *(int *)a;
int ib = *(int *)b;
return array[ia] < array[ib] ? -1 : array[ia] > array[ib];
}
int main()
{
int ti, di, n;
scanf("%d", &n);
int data[n];
for (int i = 0; i < n; i++)
{
printf("order.no,processing time%d",i + 1);
scanf("%d %d", &ti, &di);
data[i] = ti + di;
}
int size = sizeof(data) / sizeof(*data);
int index[size];
int i;
for (i = 0; i < size; i++)
{
index[i] = i;
}
array = data;
qsort(index, size, sizeof(*index), cmp);
for(int i=0;i < n - 1;i++){
for(int j=0;j<n - i - 1;j++){
if(data[j]>data[j + 1]){
int temp=data[j];
data[j]=data[j + 1];
data[j + 1]=temp;
}
}
}
printf("total time:");
for(int i=0;i<n;i++){
printf("%d ",data[i]);
}
printf("\n");
printf("hash table index:");
for (i = 0; i < size; i++)
{
printf("%d ", index[i] + 1);
}
return 0;
}
Comments
Post a Comment