------------------------------------------------------------Sun---------------------------------------------------------------------------
1.最优服务次序
问题描述:
n个顾客同时等待一项服务,应如何安排顾客等待次序才能使平均等待时间最小?
问题分析:
贪服务时间最小的顾客先服务,第一位顾客服务时,每一位顾客都等待A[0]个时间;第二个时,有n-1位顾客等待;以此类推,第i个顾客服务时,有n- i个顾客在等待中,由此得出公式 总的等待时间 time += (n - i) * A [ i ] ,最小平均等待时间为 time / n。
代码:
#include <stdio.h>
#include <string.h>
#define SIZE 10
int A[SIZE];
void sort(int A[],int n);
double greedy(int A[],int n);
void swap(int * a,int * b);
int main()
{
int n,i;// n个顾客
printf("请输入顾客数:\n");
scanf("%d",&n);
printf("请输入每个顾客的服务时间:\n");
for(i = 1;i<=n;i++)
{
printf("No.%d\n",i);