设第i个客户需要等待的时间为ti,则n个客户需要总的等待时间为

,因此,要使T最小,则要使

即可,所以,对所有的ti按升序进行排序和服务将得到最小的等待时间。

 package org.xiu68.ch6.ex8;

 public class Ex5_32 {

     public static void main(String[] args) {
// TODO Auto-generated method stub
int[] t=new int[]{5,4,3,2,1};
minServeTime(t);
} public static void minServeTime(int[] t){
quitSort(t,0,t.length-1);
int waitTime=0;
for(int i=0;i<t.length;i++){
waitTime+=(t.length-i+1)*t[i];
}
System.out.println("所需等待的最小时间为: "+waitTime);
} //快速排序算法
public static void quitSort(int[] r, int i,int j){
if(i<j){
int middle=partition1(r, i, j);
quitSort(r, i, middle-1);
quitSort(r, middle+1, j);
}
} //快速排序第一种划分算法
public static int partition1(int[] r,int i,int j){
int temp=r[i];
while(i<j){
while(i<j && r[j]>=temp) //从j向前找比temp小的值
j--; if(i<j)
r[i++]=r[j]; //将j指向的值移到i的位置,i往后移一个位置 while(i<j && r[i]<temp) //从i向后找比temp大的值
i++; if(i<j)
r[j--]=r[i];
} r[i]=temp;
return i;
}
}

Ex 5_32 一台服务器当前有n个等待服务的顾客...第八次作业的更多相关文章

  1. 一台服务器上同时启动多个 Tomcat

    在同一台服务器上启动多个 Tomcat 服务,需要修改 conf/server.xml文件里的三个部分,如下: 1.修改Http访问端口(默认为8080端口) <Connector port=& ...

  2. php多台服务器实现session共享

    使用Redis存储Session(前提是服务期间已实现redis共享,可参照:laravel项目使用twemproxy部署redis集群) 修改php.ini: session.save_handle ...

  3. 使用PowerShell收集多台服务器的性能计数器

    写在前面     当管理多台Windows Server服务器时(无论是DB.AD.WEB以及其他的应用服务器),当出现性能或其他问题后,参阅性能计数器都是一个非常好的维度从而推测出问题可能出现的原因 ...

  4. ElasticSearch 5学习(3)——单台服务器部署多个节点

    一般情况下单台服务器只会部署一个ElasticSearch node,但是在学习过程中,很多情况下会需要实现ElasticSearch的分布式效果,所以需要启动多个节点,但是学习开发环境(不想开多个虚 ...

  5. VMWare虚拟机实例拷贝到另一台服务器后出现Error in the RPC receive loop: RpcIn: Unable to send.错误的解决

    把一个VMWare虚拟机实例拷贝到另一台服务器后,在事件查看器中的应用程序日志中不断出现Error in the RPC receive loop: RpcIn: Unable to send.错误, ...

  6. 如何在一台服务器上安装两个mysql或者更多

    如何在一台服务器上安装两个mysql 1       前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2       环境 mysql ...

  7. 记sql server 2008R2 两台服务器 使用非默认端口的发布订阅

    最近研究数据库的复制.因为要在两台服务器上,当使用数据库的默认1433端口时,订阅发布没有任何问题,考虑到数据库的安全性问题,需要改用其他端口.这里以10010为例. 有A.B两台服务器:A作为发布服 ...

  8. PHP文件上传至另一台服务器

    PHP程序上传文件时,想指定上传到另一台服务器. move_uploaded_file这个方法第二个参数指定的存放路径需要和php程序文件一个服务器,没办法指定其他服务器的地址,本人才疏学浅,哪位大哥 ...

  9. Centos 6.5 rsync+inotify 两台服务器文件实时同步

    rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...

随机推荐

  1. Qsort(c)_Sort(c++)用法

    Sort函数(c) (来自codeblocks) stdlib.h _CRTIMP void __cdecl qsort(void*, size_t, size_t, int (*)(const vo ...

  2. mapping生成sam文件时出现[mem_sam_pe] paired reads have different names错误

    用以下命令修复: bbrename.sh in1=read1.fq in2=read2.fq out1=renamed1.fq out2=renamed2.fq bbrename.sh 下载地址网上自 ...

  3. DTLS协议中client/server的认证过程和密钥协商过程

    我的总结:DTLS的握手就是协商出一个对称加密的秘钥(每个客户端的秘钥都会不一样),之后的通信就要这个秘钥进行加密通信.协商的过程要么使用非对称加密算法进行签名校验身份,要么通过客户端和服务器各自存对 ...

  4. wkhtmltopdf 安装过程不包含php扩展部分

    Qt Webkit HTML Converter Install wkhtmltopdf This page documents installation of wkhtmltopdf on Gent ...

  5. Java 基础生词表

    class [klɑːs] : 类 (计算机科学); public ['pʌblɪk] : 公众的; void [vɒɪd] : 无返回类型; main [meɪn] : 主要的; static [' ...

  6. Solr之java操作

    参考教程: http://www.cnblogs.com/xia520pi/p/3625232.html http://www.cnblogs.com/hujunzheng/p/5647896.htm ...

  7. readline.c

    一.第一版 #include <unistd.h> #include <errno.h> ssize_t readline(int fd, void *vptr, size_t ...

  8. Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南

    Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 Update : 2019.03.08 0. 环境说明 硬件:Ryzen R ...

  9. fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory(转)

    fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory 解决办法:(Vs2013中) 项目--右键--属性--配置属 ...

  10. WEB 服务器 加速缓存比较

    Nginx 相对 Apache httpd 的优点: - 轻量级,同样起web 服务,比apache 占用更少的内存及资源 - 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的 ...