精华内容
下载资源
问答
  • ROHM升降压电源芯片有效消除怠速启车辆最大隐患.pdf
  • 一文读懂参考基因和基因注释+最全下载方法

    千次阅读 多人点赞 2021-06-02 22:21:34
    二、参考基因版本命名1、常用人参考基因对应表2、常用小鼠参考基因对应表三、下载1、NCBI2、Ensemble3、GENCODE4、UCSC5、iGenomes四、其他参考基因信息 一、什么是参考基因和基因注释? 先来理一理参考...

    一、什么是参考基因组和基因组注释?

    先来理一理参考基因组,基因组注释文件间的关系。

    自从 1990 启动的家喻户晓的人类基因组计划开始,全世界的科学家竭尽全力破译了第一个完整的人类基因组,从那时开始人类拿到了一本只有 ATCG 四个碱基书写的天书。后续人们逐步完善了基因组序列信息,并写在 Fasta 格式的文本文件“天书”中,这本天书就叫做参考基因组

    image.png

    但是,直接拿天书来看是一脸懵逼的,于是大家开始利用实验技术手段开始着手解密这本天书,随后大量的基因以及非编码序列被人们详细的标记在参考基因组对应的位置。同时对该位置加入大量的注释细节,最终将这些信息写在 BED,GTF,GFF 格式的基因组注释文件 。所以也可以把基因组注释文件理解为字典,看不懂天书,翻翻字典就懂了。

    image.png
    随着时间的推移,在更先进技术的加持下,在已经构建好的基因组和注释信息上不断增加,删减,修改,就有了不同的版本。而每一个版本的参考基因组都会对应有一个基因组注释文件(天书和字典一一对应),接下来我们看看参考基因组版本是怎么指定的。

    二、参考基因组版本命名

    在讲参考基因组之前,需要提到一个组织参考基因组联盟(Genome Reference Consortium),它是由 NCBI,EBI,桑格研究所等机构组成。GRC 利用最佳的技术装配,纠正,增加基因组序列,以此作为在生信分析领域作为参考的基因组。目前,该机构构建了人,小鼠,大鼠,斑马鱼,鸡的参考基因组。

    人基因组官名叫 GRCh38 (Genome Reference Consortium Human Build 38),GRCh38 在UCSC基因组浏览器中还有个小名 hg38,这个小名对于大多数人来说是更亲切熟悉的。GRCh38 在 GenBank 中叫 GCA_000001405.15,在 RefSeq 中叫 GCF_000001405.26,虽然 GRC 组织建议在所有出版物和工具中使用该编号,但事实是前两种 GRCh38 和 hg38 对生信分析更常见。

    在不更改染色体坐标的情况下,向参考基因组添加或替换新序列,这种打补丁的方式,会在基因组版本后加 .p (patch)来命名。

    这就像在王者荣耀,英雄联盟中,为了维持游戏热度,会大幅修改游戏架构,流程,世界观,图片,叫大版本更新,而定期对某些英雄的面板属性修正,作为补丁。

    举个例子,GRCh38 的第九个补丁,正式版本叫做 Genome Reference Consortium Human Build 38 patch release 9,简称 GRCh38.p9。在 GenBank 编号为 GCA_000001405.24,RefSeq 编号为 GCF_000001405.35。在 Ensemble 编号为 GRCh38,NCBI 编号为 GRCh38。

    1、常用人参考基因组对应表

    发布时间201320092006
    GRC 官名GRCh38GRCh37GRCh36
    UCSChg38hg19hg18
    EnsembleGRCh38GRCh37GRCh36
    GENCODE38193c
    NCBIGRCh38GRCh37GRCh36
    GenBankGCA_000001405
    RefSeqGCF_000001405

    根据 GRC 官网信息,GRCh39 大版本将会无限停更,他们在考虑用新模型和序列来构建人类的参考基因组,细节不清楚,猜测有可能会有泛基因组内容。

    2、常用小鼠参考基因组对应表

    发布时间202020112007
    GRC 官名GRCm39GRCm38
    UCSCm39mm10mm9
    EnsembleGRCm39GRCm38
    GENCODEM27M25M1
    NCBIGRCm39GRCm38NCBIM37

    三、下载

    1、NCBI

    这里提供两种下载方式,一种为网页界面下载,另一种为FTP下载。

    可视化下载

    • 进入网址

    https://www.ncbi.nlm.nih.gov/genome/browse#!/overview/

    • 搜索物种

    image.png

    • 下载界面

    image.png

    FTP下载

    随便提一下,Chrome 浏览器在18版本后由于安全原因已经不支持 ftp 协议,改用 https 协议,可以看到链接已经与之前的不同。

    这里以下载人的参考基因组 GRCh38 为例:

    https://ftp.ncbi.nlm.nih.gov/genomes/refseq/vertebrate_mammalian/Homo_sapiens/reference/GCF_000001405.39_GRCh38.p13

    人类基因组注释文件:

    GTF 格式:https://ftp.ncbi.nlm.nih.gov/genomes/refseq/vertebrate_mammalian/Homo_sapiens/annotation_releases/109/GCF_000001405.38_GRCh38.p12/GCF_000001405.38_GRCh38.p12_genomic.gtf.gz

    GFF 格式:

    https://ftp.ncbi.nlm.nih.gov/genomes/refseq/vertebrate_mammalian/Homo_sapiens/annotation_releases/109/GCF_000001405.38_GRCh38.p12/GCF_000001405.38_GRCh38.p12_genomic.gff.gz

    如果以这种方式下载,其实已经可以路径中大概看出相关物种的下载地址,可以自行查询及下载其他物种。

    2、Ensemble

    可视化下载

    image.png

    • 点击对应名称,下载参考基因组和基因组注释文件

    image.png

    FTP下载

    同样以下载人参考基因组 GRCh38 为例:

    http://ftp.ensembl.org/pub/current_fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.toplevel.fa.gz

    GTF 文件:http://ftp.ensembl.org/pub/current_gtf/homo_sapiens/Homo_sapiens.GRCh38.104.gtf.gz

    GTT 文件:http://ftp.ensembl.org/pub/current_gff3/homo_sapiens/Homo_sapiens.GRCh38.104.gff3.gz

    3、GENCODE

    如果小伙伴研究的物种只涉及人类和小鼠,极力推荐 GENCOE,这里有着相较其他数据库,最新最全的基因组和其注释信息。

    • 网址:https://www.gencodegenes.org/
    • 点击人类的最新版

    image.png

    • 点击下载基因组注释文件

    image.png

    • 点击下载参考基因组文件

    image.png

    4、UCSC

    相对其他下载方式,UCSC 本职的工作是做基因组浏览器的,因此也可以从下图看到,在这里可以根据自己定义来下载相对于的基因组区域,比如 prime,exon,gene,transcript等等。

    • 网址:http://genome.ucsc.edu/cgi-bin/hgTables
    • 下载:设置参数如下,然后点击下载参考基因组及注释文件

    image.png

    5、iGenomes

    iGenomes是常见分析生物的参考序列和注释文件的集合。这些文件已从Ensembl,NCBI或UCSC下载。染色体名称已更改为简单且与下载源一致。每个iGenome都可以作为压缩文件使用,其中包含生物体的单个基因组构建的序列和注释文件。

    网址:https://support.illumina.com/sequencing/sequencing_software/igenome.html

    image.png

    由亚马逊资助的生物信息参考基因组下载站点,有各种参考基因组,注释文件,软件索引等常用文件,并且有着极快的下载速度,但是缺点是只有常用的物种。

    **站点:**https://ewels.github.io/AWS-iGenomes/

    image.png

    四、其他参考基因组信息

    SPECIESUCSC VERSIONRELEASE DATERELEASE NAMESTATUS
    MAMMALS
    Humanhg38Dec. 2013Genome Reference Consortium GRCh38Available
    hg19Feb. 2009Genome Reference Consortium GRCh37Available
    hg18Mar. 2006NCBI Build 36.1Available
    hg17May 2004NCBI Build 35Available
    hg16Jul. 2003NCBI Build 34Available
    hg15Apr. 2003NCBI Build 33Archived
    hg13Nov. 2002NCBI Build 31Archived
    hg12Jun. 2002NCBI Build 30Archived
    hg11Apr. 2002NCBI Build 29Archived (data only)
    hg10Dec. 2001NCBI Build 28Archived (data only)
    hg8Aug. 2001UCSC-assembledArchived (data only)
    hg7Apr. 2001UCSC-assembledArchived (data only)
    hg6Dec. 2000UCSC-assembledArchived (data only)
    hg5Oct. 2000UCSC-assembledArchived (data only)
    hg4Sep. 2000UCSC-assembledArchived (data only)
    hg3Jul. 2000UCSC-assembledArchived (data only)
    hg2Jun. 2000UCSC-assembledArchived (data only)
    hg1May 2000UCSC-assembledArchived (data only)
    AlpacavicPac2Mar. 2013Broad Institute Vicugna_pacos-2.0.1Available
    vicPac1Jul. 2008Broad Institute VicPac1.0Available
    ArmadillodasNov3Dec. 2011Broad Institute DasNov3Available
    BaboonpapAnu4Apr. 2017Human Genome Sequencing CenterAvailable
    papAnu2Mar. 2012Baylor College of Medicine Panu_2.0Available
    papHam1Nov. 2008Baylor College of Medicine HGSC Pham_1.0Available
    BisonbisBis1Oct. 2014Univ. of Maryland Bison_UMD1.0Available
    BonobopanPan3May 2020University of WashingtonAvailable
    panPan2Dec. 2015Max-Planck Institute for Evolutionary Anthropology panpan1.1Available
    panPan1May 2012Max-Planck Institute panpan1Available
    Brown kiwiaptMan1Jun. 2015Max-Planck Institute for Evolutionary Anthropology AptMant0Available
    BushbabyotoGar3Mar. 2011Broad Institute OtoGar3Available
    CatfelCat9Nov. 2017Genome Sequencing Center (GSC) at Washington University (WashU) School of Medicine Felis_catus_9.0Available
    felCat8Nov. 2014ICGSC Felis_catus_8.0Available
    felCat5Sep. 2011ICGSC Felis_catus-6.2Available
    felCat4Dec. 2008NHGRI catChrV17eAvailable
    felCat3Mar. 2006Broad Institute Release 3Available
    ChimppanTro6Jan. 2018Clint_PTRv2Available
    panTro5May 2016CGSC Build 3.0Available
    panTro4Feb. 2011CGSC Build 2.1.4Available
    panTro3Oct. 2010CGSC Build 2.1.3Available
    panTro2Mar. 2006CGSC Build 2.1Available
    panTro1Nov. 2003CGSC Build 1.1Available
    Chinese hamstercriGri1Jul. 2013Beijing Genomics Institution-Shenzhen C_griseus_v1.0Available
    Chinese hamster ovary cell linecriGriChoV2Jun. 2017Eagle Genomics Ltd CHOK1S_HZDv1Available
    criGriChoV1Aug. 2011Beijing Genomics Institute CriGri_1.0Available
    Chinese pangolinmanPen1Aug. 2014Washington University (WashU) M_pentadactyla-1.1.1Available
    CowbosTau9Apr. 2018USDA ARSAvailable
    bosTau8Jun. 2014University of Maryland v3.1.1Available
    bosTau7Oct. 2011Baylor College of Medicine HGSC Btau_4.6.1Available
    bosTau6Nov. 2009University of Maryland v3.1Available
    bosTau4Oct. 2007Baylor College of Medicine HGSC Btau_4.0Available
    bosTau3Aug. 2006Baylor College of Medicine HGSC Btau_3.1Available
    bosTau2Mar. 2005Baylor College of Medicine HGSC Btau_2.0Available
    bosTau1Sep. 2004Baylor College of Medicine HGSC Btau_1.0Archived
    Crab-eating macaquemacFas5Jun. 2013Washington University Macaca_fascicularis_5.0Available
    DogcanFam5May 2019University of MichiganAvailable
    canFam4Mar. 2020Uppsala UniversityAvailable
    canFam3Sep. 2011Broad Institute v3.1Available
    canFam2May 2005Broad Institute v2.0Available
    canFam1Jul. 2004Broad Institute v1.0Available
    DolphinturTru2Oct. 2011Baylor College of Medicine Ttru_1.4Available
    ElephantloxAfr3Jul. 2009Broad Institute LoxAfr3Available
    FerretmusFur1Apr. 2011Ferret Genome Sequencing Consortium MusPutFur1.0Available
    Garter snakethaSir1Jun. 2015Washington University Thamnophis_sirtalis-6.0Available
    GibbonnomLeu3Oct. 2012Gibbon Genome Sequencing Consortium Nleu3.0Available
    nomLeu2Jun. 2011Gibbon Genome Sequencing Consortium Nleu1.1Available
    nomLeu1Jan. 2010Gibbon Genome Sequencing Consortium Nleu1.0Available
    Golden eagleaquChr2Oct. 2014University of Washington aquChr2-1.0.2Available
    Golden snub-nosed monkeyrhiRox1Oct. 2014Novogene Rrox_v1Available
    GorillagorGor6Aug. 2019University of WashingtonAvailable
    gorGor5Mar. 2016University of Washington GSMRT3Available
    gorGor4Dec. 2014Wellcome Trust Sanger Institute gorGor4Available
    gorGor3May 2011Wellcome Trust Sanger Institute gorGor3.1Available
    Green MonkeychlSab2Mar. 2014Vervet Genomics Consortium 1.1Available
    Guinea pigcavPor3Feb. 2008Broad Institute cavPor3Available
    Hawaiian monk sealneoSch1Jun. 2017Johns Hopkins University ASM220157v1Available
    HedgehogeriEur2May 2012Broad Institute EriEur2.0Available
    eriEur1Jun. 2006Broad Institute Draft_v1Available
    HorseequCab3Jan. 2018University of LouisvilleAvailable
    equCab2Sep. 2007Broad Institute EquCab2Available
    equCab1Jan. 2007Broad Institute EquCab1Available
    Kangaroo ratdipOrd1Jul. 2008Baylor/Broad Institute DipOrd1.0Available
    Malayan flying lemurgalVar1Jul. 2014WashU G_variegatus-3.0.2Available
    ManateetriMan1Oct. 2011Broad Institute TriManLat1.0Available
    MarmosetcalJac4May 2020Washington University Callithrix_jacchus_cj1700_1.1Available
    MarmosetcalJac3Mar. 2009WUSTL Callithrix_jacchus-v3.2Available
    calJac1Jun. 2007WUSTL Callithrix_jacchus-v2.0.2Available
    MegabatpteVam1Jul. 2008Broad Institute Ptevap1.0Available
    MicrobatmyoLuc2Jul. 2010Broad Institute MyoLuc2.0Available
    Minke whalebalAcu1Oct. 2013KORDI BalAcu1.0Available
    Mousemm39Jun. 2020Genome Reference Consortium Mouse Build 39Available
    mm10Dec. 2011Genome Reference Consortium GRCm38Available
    mm9Jul. 2007NCBI Build 37Available
    mm8Feb. 2006NCBI Build 36Available
    mm7Aug. 2005NCBI Build 35Available
    mm6Mar. 2005NCBI Build 34Archived
    mm5May 2004NCBI Build 33Archived
    mm4Oct. 2003NCBI Build 32Archived
    mm3Feb. 2003NCBI Build 30Archived
    mm2Feb. 2002MGSCv3Archived
    mm1Nov. 2001MGSCv2Archived (data only)
    Mouse lemurmicMur2May 2015Baylor/Broad Institute Mmur_2.0Available
    micMur1Jul. 2007Broad Institute MicMur1.0Available
    Naked mole-rathetGla2Jan. 2012Broad Institute HetGla_female_1.0Available
    hetGla1Jul. 2011Beijing Genomics Institute HetGla_1.0Available
    OpossummonDom5Oct. 2006Broad Institute release MonDom5Available
    monDom4Jan. 2006Broad Institute release MonDom4Available
    monDom1Oct. 2004Broad Institute release MonDom1Available
    OrangutanponAbe2Jul. 2007WUSTL Pongo_albelii-2.0.2Available
    ponAbe3Jan. 2018Susie_PABv2/ponAbe3Available
    PandaailMel1Dec. 2009BGI-Shenzhen AilMel 1.0Available
    PigsusScr11Feb. 2017Swine Genome Sequencing Consortium Sscrofa11.1Available
    susScr3Aug. 2011Swine Genome Sequencing Consortium Sscrofa10.2Available
    susScr2Nov. 2009Swine Genome Sequencing Consortium Sscrofa9.2Available
    PikaochPri3May 2012Broad Institute OchPri3.0Available
    ochPri2Jul. 2008Broad Institute OchPri2Available
    PlatypusornAna2Feb. 2007WUSTL v5.0.1Available
    ornAna1Mar. 2007WUSTL v5.0.1Available
    Proboscis MonkeynasLar1Nov. 2014Proboscis Monkey Functional Genome Consortium Charlie1.0Available
    RabbitoryCun2Apr. 2009Broad Institute release OryCun2Available
    Ratrn7Nov. 2020Wellcome Sanger Institute mRatBN7.2Available
    rn6Jul. 2014RGSC Rnor_6.0Available
    rn5Mar. 2012RGSC Rnor_5.0Available
    rn4Nov. 2004Baylor College of Medicine HGSC v3.4Available
    rn3Jun. 2003Baylor College of Medicine HGSC v3.1Available
    rn2Jan. 2003Baylor College of Medicine HGSC v2.1Archived
    rn1Nov. 2002Baylor College of Medicine HGSC v1.0Archived
    RhesusrheMac10Feb. 2019The Genome Institute at Washington University School of Medicine Mmul_10Available
    rheMac8Nov. 2015Baylor College of Medicine HGSC Mmul_8.0.1Available
    rheMac3Oct. 2010Beijing Genomics Institute CR_1.0Available
    rheMac2Jan. 2006Baylor College of Medicine HGSC v1.0 Mmul_051212Available
    rheMac1Jan. 2005Baylor College of Medicine HGSC Mmul_0.1Archived
    Rock hyraxproCap1Jul. 2008Baylor College of Medicine HGSC Procap1.0Available
    SheepoviAri4Dec. 2015ISGC Oar_v4.0Available
    oviAri3Aug. 2012ISGC Oar_v3.1Available
    oviAri1Feb. 2010ISGC Ovis aries 1.0Available
    ShrewsorAra2Aug. 2008Broad Institute SorAra2.0Available
    sorAra1Jun. 2006Broad Institute SorAra1.0Available
    SlothchoHof1Jul. 2008Broad Institute ChoHof1.0Available
    SquirrelspeTri2Nov. 2011Broad Institute SpeTri2.0Available
    Squirrel monkeysaiBol1Oct. 2011Broad Institute SaiBol1.0Available
    TarsiertarSyr2Sep. 2013WashU Tarsius_syrichta-2.0.1Available
    tarSyr1Aug. 2008WUSTL/Broad Institute Tarsyr1.0Available
    Tasmanian devilsarHar1Feb. 2011Wellcome Trust Sanger Institute Devil_refv7.0Available
    TenrecechTel2Nov. 2012Broad Institute EchTel2.0Available
    echTel1Jul. 2005Broad Institute echTel1Available
    Tree shrewtupBel1Dec. 2006Broad Institute Tupbel1.0Available
    WallabymacEug2Sep. 2009Tammar Wallaby Genome Sequencing Consortium Meug_1.1Available
    White rhinoceroscerSim1May 2012Broad Institute CerSimSim1.0Available
    VERTEBRATES
    African clawed frogxenLae2Aug. 2016Int. Xenopus Sequencing ConsortiumAvailable
    American alligatorallMis1Aug. 2012Int. Crocodilian Genomes Working Group allMis0.2Available
    Atlantic codgadMor1May 2010Genofisk GadMor_May2010Available
    BudgerigarmelUnd1Sep. 2011WUSTL v6.3Available
    ChickengalGal6Mar. 2018GRCg6 Gallus-gallus-6.0Available
    galGal5Dec. 2015ICGC Gallus-gallus-5.0Available
    galGal4Nov. 2011ICGC Gallus-gallus-4.0Available
    galGal3May 2006WUSTL Gallus-gallus-2.1Available
    galGal2Feb. 2004WUSTL Gallus-gallus-1.0Available
    CoelacanthlatCha1Aug. 2011Broad Institute LatCha1Available
    Elephant sharkcalMil1Dec. 2013IMCB Callorhinchus_milli_6.1.3Available
    Fugufr3Oct. 2011JGI v5.0Available
    fr2Oct. 2004JGI v4.0Available
    fr1Aug. 2002JGI v3.0Available
    LampreypetMar3Dec. 2017University of Kentucky Pmar_germline 1.0Available
    petMar2Sep. 2010WUGSC 7.0Available
    petMar1Mar. 2007WUSTL v3.0Available
    LizardanoCar2May 2010Broad Institute AnoCar2Available
    anoCar1Feb. 2007Broad Institute AnoCar1Available
    MedakaoryLat2Oct. 2005NIG v1.0Available
    Medium ground finchgeoFor1Apr. 2012BGI GeoFor_1.0 / NCBI 13302Available
    Nile tilapiaoreNil2Jan. 2011Broad Institute Release OreNil1.1Available
    Painted turtlechrPic1Dec. 2011IPTGSC Chrysemys_picta_bellii-3.0.1Available
    SticklebackgasAcu1Feb. 2006Broad Institute Release 1.0Available
    TetraodontetNig2Mar. 2007Genoscope v7Available
    tetNig1Feb. 2004Genoscope v7Available
    Tibetan frognanPar1Mar. 2015Beijing Genomics Institute BGI_ZX_20015Available
    TurkeymelGal5Nov. 2014Turkey Genome Consortium v5.0Available
    melGal1Dec. 2009Turkey Genome Consortium v2.01Available
    X. tropicalisxenTro9Jul. 2016JGI v.9.1Available
    xenTro7Sep. 2012JGI v.7.0Available
    xenTro3Nov. 2009JGI v.4.2Available
    xenTro2Aug. 2005JGI v.4.1Available
    xenTro1Oct. 2004JGI v.3.0Available
    Zebra finchtaeGut2Feb. 2013WashU taeGut324Available
    taeGut1Jul. 2008WUSTL v3.2.4Available
    ZebrafishdanRer11May 2017Genome Reference Consortium GRCz11Available
    danRer10Sep. 2014Genome Reference Consortium GRCz10Available
    danRer7Jul. 2010Sanger Institute Zv9Available
    danRer6Dec. 2008Sanger Institute Zv8Available
    danRer5Jul. 2007Sanger Institute Zv7Available
    danRer4Mar. 2006Sanger Institute Zv6Available
    danRer3May 2005Sanger Institute Zv5Available
    danRer2Jun. 2004Sanger Institute Zv4Archived
    danRer1Nov. 2003Sanger Institute Zv3Archived
    DEUTEROSTOMES
    C. intestinalisci3Apr. 2011Kyoto KHAvailable
    C. intestinalisci2Mar. 2005JGI v2.0Available
    ci1Dec. 2002JGI v1.0Available
    LanceletbraFlo1Mar. 2006JGI v1.0Available
    S. purpuratusstrPur2Sep. 2006Baylor College of Medicine HGSC v. Spur 2.1Available
    strPur1Apr. 2005Baylor College of Medicine HGSC v. Spur_0.5Available
    INSECTS
    A. melliferaapiMel2Jan. 2005Baylor College of Medicine HGSC v.Amel_2.0Available
    apiMel1Jul. 2004Baylor College of Medicine HGSC v.Amel_1.2Available
    A. gambiaeanoGam3Oct. 2006International Consortium for the Sequencing of Anopheles Genome AgamP3Available
    anoGam1Feb. 2003IAGP v.MOZ2Available
    D. ananassaedroAna2Aug. 2005Agencourt Arachne releaseAvailable
    droAna1Jul. 2004TIGR Celera releaseAvailable
    D. erectadroEre1Aug. 2005Agencourt Arachne releaseAvailable
    D. grimshawidroGri1Aug. 2005Agencourt Arachne releaseAvailable
    D. melanogasterdm6Aug. 2014BDGP Release 6 + ISO1 MTAvailable
    dm3Apr. 2006BDGP Release 5Available
    dm2Apr. 2004BDGP Release 4Available
    dm1Jan. 2003BDGP Release 3Available
    D. mojavensisdroMoj2Aug. 2005Agencourt Arachne releaseAvailable
    droMoj1Aug. 2004Agencourt Arachne releaseAvailable
    D. persimilisdroPer1Oct. 2005Broad Institute releaseAvailable
    D. pseudoobscuradp3Nov. 2004FlyBase Release 1.0Available
    dp2Aug. 2003Baylor College of Medicine HGSC Freeze 1Available
    D. sechelliadroSec1Oct. 2005Broad Institute Release 1.0Available
    D. simulansdroSim1Apr. 2005WUSTL Release 1.0Available
    D. virilisdroVir2Aug. 2005Agencourt Arachne releaseAvailable
    droVir1Jul. 2004Agencourt Arachne releaseAvailable
    D. yakubadroYak2Nov. 2005WUSTL Release 2.0Available
    droYak1Apr. 2004WUSTL Release 1.0Available
    NEMATODES
    C. brennericaePb2Feb. 2008WUSTL 6.0.1Available
    caePb1Jan. 2007WUSTL 4.0Available
    C. briggsaecb3Jan. 2007WUSTL Cb3Available
    cb1Jul. 2002WormBase v. cb25.agp8Available
    C. elegansce11Feb. 2013C. elegans Sequencing Consortium WBcel235Available
    ce10Oct. 2010WormBase v. WS220Available
    ce6May 2008WormBase v. WS190Available
    ce4Jan. 2007WormBase v. WS170Available
    ce2Mar. 2004WormBase v. WS120Available
    ce1May 2003WormBase v. WS100Archived
    C. japonicacaeJap1Mar. 2008WUSTL 3.0.2Available
    C. remaneicaeRem3May 2007WUSTL 15.0.1Available
    caeRem2Mar. 2006WUSTL 1.0Available
    P. pacificuspriPac1Feb. 2007WUSTL 5.0Available
    OTHER
    Sea HareaplCal1Sep. 2008Broad Release Aplcal2.0Available
    YeastsacCer3April 2011SGD April 2011 sequenceAvailable
    sacCer2June 2008SGD June 2008 sequenceAvailable
    sacCer1Oct. 2003SGD 1 Oct 2003 sequenceAvailable
    VIRUSES
    Ebola ViruseboVir3June 2014Sierra Leone 2014 (G3683/KM034562.1)Available
    SARS-CoV-2wuhCor1Jan. 2020SARS-CoV-2 ASM985889v3Available

    https://www.ncbi.nlm.nih.gov/grc

    http://genomeref.blogspot.com/

    展开全文
  • 行业资料-电子功用-基于深度确定性策略算法的发电机配置方法及系统.pdf
  • 行业资料-交通装置-一种冷藏运输车用柴油发电机智能启控制系统.zip
  • 行业-电子政务-一种核电站汽轮发电机控制方法、装置和DCS控制系统.zip
  • CPU风扇和电源风扇都只转一下就了,很明显是系统给CPU供电出现问题,导致CPU异常,下面逐步进行故障排除。下面,小编给大家介绍电脑cpu风扇转一下一下的解决步骤。用户有使用电脑时,会经常遇到启动电脑发现电脑...

    电脑产品的散热是十分重要的一个内容,良好的散热功能往往能够保证电脑产品的正常运行,因此对于用户而言是十分必须的。CPU风扇和电源风扇都只转一下就停了,很明显是系统给CPU供电出现问题,导致CPU异常,下面逐步进行故障排除。下面,小编给大家介绍电脑cpu风扇转一下停一下的解决步骤。

    用户有使用电脑时,会经常遇到启动电脑发现电脑开不了机,显示器没有反应,而且不到10秒钟,电脑就停止运行了,cpu风扇转一下就停,然后反复这样,显示屏无反应,开不了机,这时大家不用太担心。下面,小编给大伙带来了电脑cpu风扇转一下停一下的处理图文。

    电脑cpu风扇转一下停一下怎么办

    首先要检查内存条是否有问题,检测的方式 拔掉内存条,一根根进行测试开机情况,如果开机风扇不会转一下就停的话就是内存的问题,这种情况更换新内存条就可以了

    电脑系统软件图解1

    然后在检测主机电源是否有问题,检测方式是替换法,用新电源进行测试,用新电源没问题的话就是电源问题了

    电脑系统软件图解2

    如果还是不能解决的话,很有可能是主板的问题了,有可能是主板启保护作用

    风扇系统软件图解3

    如果能开机了,但是会自动重启就很有可能是系统的问题了,不过一般这个问题比较少见,一般出现在老电脑上,可以试一下重装系统是否能解决。

    风扇系统软件图解4

    以上就是电脑风扇一转一停的解决方法的所有内容了。

    展开全文
  • 心脏骤是一种严重的健康状况,其特征是没有可追踪的心率、患者意识丧失以及呼吸暂停,住院死亡率... 这些模型可以捕捉暴露和对照之间的关系并提供高特异性结果,平均灵敏度为 78%,并具有识别高风险患者的能力。
  • 数据结构C语言之停车场管理

    千次阅读 多人点赞 2019-07-28 16:56:54
    汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的...

    停车场管理


    题目描述

    [问题描述]

    设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。

    [基本要求]

    以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现。

    [实现提示]

    需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。

    解题步骤

    首先

    车子car信息有车牌号和到达停车场的时间

    停车场park为栈,大小为N。

    临时让路道tmp为栈,大小为M。

    通道line为链队列。

    //车子
    typedef struct Car{
        int num;
        int time;
    }Car;
    
    //栈
    typedef struct stack{
        Car *base;
        Car *top;
        int curlen;
    }Park,Tmp;
    
    Park park; //停车场(栈)
    Tmp tmp; //临时让路道(栈)
    
    //链队列结点:数据域为车子
    typedef struct qnode{
        Car car;
        struct qnode *next;
    }qnode;
    
    //链队列
    typedef struct queue{
        qnode *front;
        qnode *rear;
        int curlen;
    }Line;
    
    Line line; //通道(链队列)

    其次初始化停车场park、临时让路道tmp、通道line,就是分配空间等基本操作。

    //初始化停车场park(栈)
    void Initpark(){
        park.base=(Car *)malloc(sizeof(Car)*N);
        park.top=park.base;
        park.curlen=0;
    }
    
    //初始化临时让路道tmp(栈)
    void Inittmp(){
        tmp.base=(Car *)malloc(sizeof(Car)*M);
        tmp.top=tmp.base;
        tmp.curlen=0;
    }
    
    //初始化通道line(链队列)
    void Initline(){
        line.front=(qnode *)malloc(sizeof(qnode));
        line.front->next=NULL;
        line.rear=line.front;
        line.curlen=0;
    }

    其次

    进停车场park、临时让路道tmp、通道line的操作算法,都是简单的入栈和入队操作,如下:

    //车子进停车场park(栈)
    void Inpark(Car e){
    	*(park.top)=e;
    	park.top++;
    	park.curlen++;
    	printf("车辆%d停放在停车场第%d个位置.\n",e.num,park.curlen);
    }
    
    //车子进通道line(链队列)
    void Inline(Car e){
    	qnode *s=(qnode*)malloc(sizeof(qnode));
    	s->car=e;
    	s->next=NULL;
    	line.rear->next=s;
    	line.rear=s;
    	line.curlen++;
    	printf("车辆停放在通道第%d个位置.\n",line.curlen);
    }
    
    //车子进去临时让路道tmp(栈)
    void Intmp(Car e){
    	*(tmp.top)=e;
    	tmp.top++;
    	tmp.curlen++;
    }

    然后

    出栈函数和取队头元素,此处出栈函数是park栈和tmp栈所需的操作,取队头元素是为了得到通道上第一辆车。

    //出栈操作
    void Outstack(stack *s){
    	s->top--;
    	s->curlen--;
    }
    
    //通道line(链队列)的第一辆车即队头元素
    Car Outline(){
    	qnode *firstqnode=line.front->next;
    	Car firstcar=firstqnode->car;
    	line.front->next=firstqnode->next;
    	line.curlen--;
    	return firstcar;
    }

    简单的遍历操作,显示栈里元素和队列元素如下:

    void Dispark(){
    	printf("停车场:\n");
    	Car *p=park.base;
    	while(p!=park.top){
    		printf("车辆:%d\t到达时间:%d\n",p->num,p->time);
    		p++;
    	}
    }
    void Disline(){
    	printf("通道:\n");
    	qnode *p=line.front->next;
    	while(p){
    		printf("车辆:%d\t到达时间:%d\n",(p->car).num,(p->car).time);
    		p=p->next;
    	}

    最后

    也是较为复杂的操作,即出停车场的操作。

    需要先在park栈里找到要出停车场的车子left_car,从park栈栈顶元素逐个弹出到tmp栈里,找到left_car后,从停车场弹出,然后将tmp栈的元素又逐个弹出到park栈,最后取line队列里队头元素,即通道里第一辆车,入park栈。

    //车子出停车场park
    void Outpark(Car e){
    	int num=e.num;
    	int outtime=e.time; //离开时间
    	Car *c=park.top-1; //栈顶元素
    	while(c->num!=num&&park.top>park.base){
    		Intmp(*c); //栈顶元素(车子)进临时让路道
    		Outstack(&park); //栈顶元素(车子)暂时弹出去
    		c--;
    	}
    	if(park.top==park.base) {
    		printf("停车场无此车.\n");
    	}
    	else{
    		int spendtime=outtime-(c->time);
    		printf("收费%d\n",spendtime);
    		Outstack(&park); //车子出停车场
    	}
    	
    	//将所有临时让路道里的车子出tmp栈,并入park栈
    	while(tmp.curlen>0){
    		Outstack(&tmp);
    		Inpark(*(tmp.top));
    	}
    
    	//让通道line里的队头元素(车子)进停车场park
    	while(park.curlen<N&&line.curlen>0){
    		Car linefirstcar=Outline();
    		linefirstcar.time=e.time;
    		Inpark(linefirstcar);
    	}
    }

    源代码

    #include<stdio.h>
    #include<stdlib.h>
    #define N 3 //停车场park总共位置
    #define M 3 //通道line总共位置
    
    //车子
    typedef struct Car{
        int num;
        int time;
    }Car;
    
    //栈
    typedef struct stack{
        Car *base;
        Car *top;
        int curlen;
    }Park,Tmp;
    
    Park park; //停车场(栈)
    Tmp tmp; //临时让路道(栈)
    
    //链队列结点:数据域为车子
    typedef struct qnode{
        Car car;
        struct qnode *next;
    }qnode;
    
    //链队列
    typedef struct queue{
        qnode *front;
        qnode *rear;
        int curlen;
    }Line;
    
    Line line; //通道(链队列)
    
    //初始化停车场park(栈)
    void Initpark(){
        park.base=(Car *)malloc(sizeof(Car)*N);
        park.top=park.base;
        park.curlen=0;
    }
    
    //初始化临时让路道tmp(栈)
    void Inittmp(){
        tmp.base=(Car *)malloc(sizeof(Car)*M);
        tmp.top=tmp.base;
        tmp.curlen=0;
    }
    
    //初始化通道line(链队列)
    void Initline(){
        line.front=(qnode *)malloc(sizeof(qnode));
        line.front->next=NULL;
        line.rear=line.front;
        line.curlen=0;
    }
    
    //车子进停车场park(栈)
    void Inpark(Car e){
        *(park.top)=e;
        park.top++;
        park.curlen++;
        printf("车辆%d停放在停车场第%d个位置.\n",e.num,park.curlen);
    }
    
    //车子进通道line(链队列)
    void Inline(Car e){
        qnode *s=(qnode*)malloc(sizeof(qnode));
        s->car=e;
        s->next=NULL;
        line.rear->next=s;
        line.rear=s;
        line.curlen++;
        printf("车辆停放在通道第%d个位置.\n",line.curlen);
    }
    
    //车子进去临时让路道tmp(栈)
    void Intmp(Car e){
        *(tmp.top)=e;
        tmp.top++;
        tmp.curlen++;
    }
    
    //出栈操作
    void Outstack(stack *s){
        s->top--;
        s->curlen--;
    }
    
    //通道line(链队列)的第一辆车即队头元素
    Car Outline(){
        qnode *firstqnode=line.front->next;
        Car firstcar=firstqnode->car;
        line.front->next=firstqnode->next;
        line.curlen--;
        return firstcar;
    }
    
    //车子出停车场park
    void Outpark(Car e){
        int num=e.num;
        int outtime=e.time; //离开时间
        Car *c=park.top-1; //栈顶元素
        while(c->num!=num&&park.top>park.base){
            Intmp(*c); //栈顶元素(车子)进临时让路道
            Outstack(&park); //栈顶元素(车子)暂时弹出去
            c--;
        }
        if(park.top==park.base) {
            printf("停车场无此车.\n");
        }
        else{
            int spendtime=outtime-(c->time);
            printf("收费%d\n",spendtime);
            Outstack(&park); //车子出停车场
        }
        
        //将所有临时让路道里的车子出tmp栈,并入park栈
        while(tmp.curlen>0){
            Outstack(&tmp);
            Inpark(*(tmp.top));
        }
    
        //让通道line里的队头元素(车子)进停车场park
        while(park.curlen<N&&line.curlen>0){
            Car linefirstcar=Outline();
            linefirstcar.time=e.time;
            Inpark(linefirstcar);
        }
    }
    
    void Dispark(){
        printf("停车场:\n");
        Car *p=park.base;
        while(p!=park.top){
            printf("车辆:%d\t到达时间:%d\n",p->num,p->time);
            p++;
        }
    }
    void Disline(){
        printf("通道:\n");
        qnode *p=line.front->next;
        while(p){
            printf("车辆:%d\t到达时间:%d\n",(p->car).num,(p->car).time);
            p=p->next;
        }
    }
    
    int main(){
        Initpark();
        Inittmp();
        Initline();
        int flag=0;
        while(flag!=99){
            printf("1.汽车停放\t");
            printf("2.汽车离开\t");
            printf("3.查看停车场\t");
            printf("4.查看通道\t");
            printf("99.退出\n");
            printf("请输入:");
            scanf("%d",&flag);
            switch(flag){
            case 1:{
                    printf("输入车牌号和当前时间:");
                    Car car;
                    scanf("%d%d",&car.num,&car.time);
                    if(park.curlen<N)
                        Inpark(car);
                    else if(line.curlen<M)
                        Inline(car);
                    else
                        printf("不好意思,无空地!\n");
                    break;
                   }
            case 2:{
                    printf("输入车牌号和当前时间:");
                    Car car;
                    scanf("%d%d",&car.num,&car.time);
                    Outpark(car);
                    break;
                   }
            case 3:{
                    Dispark();
                    break;
                   }
            case 4:{
                    Disline();
                    break;
                   }
            case 99:{
                    break;
                   }
            default:
                    printf("输入有误!\n");
            }
        }
        return 0;
    }

    展开全文
  • C语言使用栈和队列实现停车场管理

    千次阅读 多人点赞 2019-06-25 21:10:59
    C语言利用栈和队列实现停车场管理 ...若车场内已满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出...

    C语言利用栈和队列实现停车场管理

    这次做的是C语言利用栈实现停车场管理–纯手打非转载
    停车场管理
    [问题描述]
    设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门后,其它车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。
    [基本要求]
    (1) 要求以顺序栈模拟停车场,以链队列模拟便道。
    (2) 从终端读入汽车到达或离去的数据,每组数据包括三项:
    ①是“到达”还是“离去”;
    ②汽车牌照号码;
    ③“到达”或“离去”的时刻。
    与每组输入信息相应的输出信息为:如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。

    算法思想:
    1.车辆停入停车场的流程:
    首先判断停车场的车位是否停满。两种情况:(1)停满时此时后来的车辆只能停在走道上
    (2)未停满时后来的车辆继续入栈。
    2.车辆出站的思想。两种情况:(1)车辆在栈顶时,此时直接出栈而用不到辅助栈(2)车辆不在车顶时排在前面的车辆必须让位,此时它才能出栈,算法思想是首先根据输入的车牌号进行在栈中搜索,返还一个角标,根据角标来,找到出栈的车辆,这时前面的车辆入辅助栈,当循环的目标车辆时,这时不需要入辅助栈,直接出栈即可!
    总体结构思路如下
    在这里插入图片描述
    这时车位停满的情况,若非栈顶出栈则需要把他前面的车让位进辅助栈,当目标车出栈的再回来。

    停车流程图如下:

    停车流程图如下
    车辆离开流程图如下
    在这里插入图片描述

    源代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include<conio.h>
    #include <malloc.h>
    #define stackSize 3
    typedef int ElementType;
    //定义车辆信息的结构体
    typedef struct{
       int BNo;
       int type;
       int arrivetime;
       int pushtime;
       int departuretime;
    }BusInf;
    //栈定义
    typedef struct{
        BusInf elem[stackSize];
        int top;
    }SeqStack;
    //初始化栈
    void InitStack(SeqStack *s)
    {
        s->top=-1;
    }
    //判断栈空--为1表示空--位0表示非空
    int IsEmpty(SeqStack *s)
    {
        if(s->top==-1)
        {
            return 1;
        }
        else{
            return 0;
        }
    }
    //判断栈满--0未满--1栈满
    int IsFull(SeqStack *s)
    {
        if(s->top==stackSize-1)
        {
           return 1;
        }
        else
            return 0;
    }
    //进站--1表示入栈--0表示栈满
    int push(SeqStack *s,BusInf bus)
    {
        if(IsFull(s)==1)
        {
            return 0;
        }
        else
        {
            s->top++;
            s->elem[s->top]=bus;
          return 1;
        }
    }
    //出栈--1表示出栈,0表示栈空--用指针带出出栈的值
    int pop(SeqStack *s,BusInf *bus)
    {
        if(IsEmpty(s)==1)
        {
            return 0;
        }
        else
        {
            *bus = s->elem[s->top];
            s->top--;
            return 1;
        }
    }
    //队列
    typedef struct Node{
        BusInf Bus;
        struct Node * next;
    }LinkQueueNode;
    typedef struct{
        LinkQueueNode *front;//头指针
        LinkQueueNode *rear;//队尾指针
    }LinkQueue;
    //初始化队列--将Q初始化为一个空的链队列
    int InitQueue(LinkQueue *Q)
    {
        Q->front=(LinkQueueNode *)malloc(sizeof(LinkQueueNode));
        if(Q->front!=NULL)
        {
            Q->rear=Q->front;
            Q->front->next=NULL;
            Q->rear->next=NULL;
            return 1;
        }
        else return 0;
    }
    //入队操作
    int EnterQueue(LinkQueue *Q,BusInf bus)
    {
        //新建一个节点,插入队尾
        LinkQueueNode *NewNode = (LinkQueueNode *)malloc(sizeof(LinkQueueNode));
        if(NewNode!=NULL)
        {
            NewNode->Bus=bus;
            NewNode->next=NULL;
            Q->rear->next=NewNode;
            //将最后一个插入的节点设为尾结点
            Q->rear=NewNode;
            return 1;
        }
        else{
            return 0;
        }
    }
    //出队操作
    int DeleteQueue(LinkQueue *Q,BusInf *bus){
        LinkQueueNode *p;
        if(Q->front==Q->rear){
          return 0;
        }
        else{
            p = Q->front->next;
            Q->front->next=p->next;//将对头更新
            *bus = p->Bus;
            //判断如果这个时候是否队列为空,是的话收尾指针相等
            if(Q->rear==p){
                Q->front=Q->rear;
            }
            //释放节点P
            free(p);
            return 1;
        }
    }
    //查找栈中有无车牌信息--temp代表出栈的位置....-1代表无车牌
    int searchBusNo(SeqStack *s,BusInf bus)
    {
    
        SeqStack *p=NULL;
        p=s;
        int temp = p->top;
        while(temp>=0)
        {
            if(p->elem[temp].BNo==bus.BNo)
                return temp;
            temp--;
        }
        return -2;
    }
    void showBus(SeqStack *s){
        printf("已停靠车辆:\n");
        //int temp = (s->top)+1;
         printf(" 车牌号        到达时间        停车时间\n");
         for(int temp=0;temp<=s->top;temp++)
         {
           printf(" %4d%14d%15d\n",s->elem[temp].BNo,s->elem[temp].arrivetime,s->elem[temp].pushtime);
         }
    }
    //显示队列里的车
    void showQBus(LinkQueue *l){
        LinkQueueNode *p=l->front->next;
        printf("等待车辆:\n");
        printf(" 车牌号        到达时间\n");
        while(p!=NULL)
        {
            printf(" %4d%14d\n",p->Bus.BNo,p->Bus.arrivetime);
            p=p->next;
        }
    }
    int selectCar(){
        int flag=0;
        printf("1.轿车  2.客车  3.卡车  ");
        printf("\n请选择车辆种类:\n");
        scanf("%d",&flag);
        if(flag!=1 && flag!=2 &&flag!=3)
        {
            printf("输入错误重新输入:");
            scanf("%d",&flag);
        }
        return flag;
    }
    //输入车辆信息并且入栈或入队
    void inputCarData(SeqStack *s,LinkQueue *l){
        BusInf bus;
        printf("请输入车牌号:");
        scanf("%d",&bus.BNo);
        //判断车牌号是否重复
        if(searchBusNo(s,bus)!=-2){
            printf("车牌号重复!\n");
            printf("请重新输入车牌信息:");
            scanf("%d",&bus.BNo);
        }
        printf("请输入到达时间:\n");
        scanf("%d",&bus.arrivetime);
        if(bus.arrivetime<0 || bus.arrivetime>24)
        {
            printf("时间输入不合法(0-24)重新输入:\n");
            scanf("%d",&bus.arrivetime);
        }
        bus.pushtime=bus.arrivetime;
        bus.type= selectCar();
        //车辆进栈--先判断栈是否满
        if(IsFull(s)==1){
            showBus(s);
            //栈满的情况,下面来的进队列中
            EnterQueue(l,bus);
            showQBus(l);
        }
        //栈没满的情况
        else{
         push(s,bus);
        //显示进栈车辆信息
        showBus(s);
        }
    }
    
    //离开停车位
    void leaveStack(SeqStack *s,SeqStack *se,LinkQueue *Q)
    {
        if(IsEmpty(s)==1)
           {
               printf("此时没有车辆停靠!");
                return;
           }
        int pay[]={2,3,4};
        int temp=0;
        int leavetime=0;
        BusInf bus;
        printf("请输入离开的车号");
        scanf("%d",&temp);
        bus.BNo=temp;
        int m = searchBusNo(s,bus);
        while(m==-2)
        {
            printf("输入错误重新输入");
            scanf("%d",&temp);
            bus.BNo=temp;
            m=searchBusNo(s,bus);
        }
        printf("请输入出栈时间:");
        scanf("%d",&leavetime);
        while(leavetime<=s->elem[m].arrivetime)
        {
            printf("离开时间必须大于停车时间!重新输入:");
            scanf("%d",&leavetime);
        }
            //显示出栈的车辆
        printf("******离去车辆信息******\n");
        printf(" 车牌号        价格         离开时间\n");
        s->elem[m].departuretime=leavetime;
        printf("%4d%13d%13d",s->elem[m].BNo,(leavetime-s->elem[m].arrivetime)*pay[s->elem[m].type-1],s->elem[m].departuretime);
        printf("\n************\n");
        //这时m接收的就是出栈的位置--2中情况在栈顶和不在栈顶--让位时进入辅助栈se
        //离开的车在栈顶时
        if(m==s->top)
        {
            BusInf *b;
            b=(BusInf*)malloc(sizeof(BusInf));
            pop(s,b);
        }
        //不在栈顶
        else
        {
         for(int i=s->top;i>=m;i--){
            BusInf *b=(BusInf*)malloc(sizeof(BusInf));
            //先入栈再出战
            if(i==m)
            {
                pop(s,b);
            }
            else{
                push(se,s->elem[i]);
                pop(s,b);
            }
        }
            for(int j=se->top;j>=0;j--)
            {
                BusInf *b=(BusInf*)malloc(sizeof(BusInf));
                pop(se,b);
                push(s,*b);
            }
        }
        //判断队列是否有等待车辆--有的话对头入栈
        if(Q->rear!=Q->front){
            BusInf *b = (BusInf*)malloc(sizeof(BusInf));
            DeleteQueue(Q,b);
            b->pushtime=leavetime;
            push(s,*b);
            showBus(s);
            showQBus(Q);
        }
        else
        showBus(s);
    }
    //菜单选择
    int menu()
    {
        char n;
        printf("\n    ************* 停车场管理系统 **************\n");
        printf("    *%15c1---停车%19c\n",' ','*');
        printf("    *%15c2---离开%19c\n",' ','*');
        printf("    *%15c3---结束程序%15c\n",' ','*');
        printf("    *******************************************\n");
        printf("菜单选择:1,2,3: ");
        do{
    	     n=getch();
    	     }while(n<'1' || n>'3');
         printf("\n");
         return(n-48);
    }
    int main()
    {
        //车辆栈
        SeqStack *s =(SeqStack*)malloc(sizeof(SeqStack));
        InitStack(s);
        //车辆在路边停靠的队列
        LinkQueue *l=(LinkQueue *)malloc(sizeof(LinkQueue));
        InitQueue(l);
        //辅助栈存储让位的信息
        SeqStack *se = (SeqStack*)malloc(sizeof(SeqStack));
        InitStack(se);
        while(1)
        {
            switch(menu()){
                case 1:inputCarData(s,l);
                break;
                case 2:leaveStack(s,se,l);
                break;
                case 3:return 0;
            }
        }
        return 0;
    }
    
    
    展开全文
  • C语言课程设计之停车场管理问题

    千次阅读 2019-05-26 21:56:24
    汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若车场内已满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上...
  • 跟我学Kafka:Kafka消费运维详解

    千次阅读 热门讨论 2021-05-16 21:20:59
    Kafka的重置位点需要先掉所有的消费者。 执行真正的位点重置需要加上 --execute选项,在真正执行之前,可以用–dry-run模拟执行。 2、总结 在Kafka中,消费是自动创建的,并且kafka中的消费并没有提供类似...
  • PTA 停车场管理

    千次阅读 2019-06-18 21:58:46
    先输入一个整数n(n),再输入若干数据,每数据包括三个数据项:汽车到达或离开的信息(A表示到达、D表示离开、E表示结束)、汽车号码、汽车到达或离开的时刻。 输出格式: 若有车辆到达,则输出该汽车的停车...
  • 智慧停车场综合解决方案

    千次阅读 2020-02-25 10:50:31
    车辆入车位后开始计时,在控制室可随时了解各车位的停车时间。 报表功能 系统可以根据要求,进行各种统计、自动生成相关报表;能够统计停车场每天和每月的使用率、分时段使用率等,并且可以实现报表的EXCEL...
  • *二、模型部分 电力系统机组组合优化模型= 目标函数:运行成本最低(发电成本+启成本)为目标 约束条件:发电机出力约束、启爬坡约束、潮流约束、功率平衡约束等 1) 系统功率平衡约束 2) 热备用约束 3) 机组...
  • Java中List集合和枚举转换为数解决方案最近在做项目的时候,经常遇到将将一个List集合中的对象的某个属性字段取出,然后组装成该字段属性对应类型的数组,也遇到了将一个枚举中每个元素对应的值取出,组装成该枚举...
  • 数据结构实践——停车场模拟(栈和队列综合)

    万次阅读 多人点赞 2015-10-05 22:04:54
    本文是针对数据结构基础系列网络课程(3):栈和队列的实践...若车场内已满n辆汽车,则后来的汽车只能在门外的候车场上等候,一旦有车开走,则排在候车场上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入
  • Jmeter压测短暂卡

    千次阅读 2019-01-23 17:30:30
    最近使用Jmeter压测web应用时,发现压测出现周期性卡,卡个6s左右,影响性能测试结果。 观察发现卡时,应用日志也了,同时nmon观察数据库服务器CPU资源等也没有消耗,但是磁盘busy升高到。 最后发现应该是...
  • 在生产上,很多的情况都和压力有关系,多线程是模拟高并发的情况。...添加线程 添加自己需要的线程数目,同时设置几秒内执行完。 添加http请求头部管理,目的就是增加了content type 设置为json:C...
  • 汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一...
  • 有A,B,C三喷头,要求启动后A祖先喷5S,之后BC同时喷,5秒后B停止,再过5S,C停止而A,B同时喷,再过2S,C也喷,ABC同时喷5S后全部停止,,再过3S重复前面过程,当按下重复按钮后,马上停止.
  • 汽车在停车场按车辆到来的先后顺序依次排列,若车场内已满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的...
  • 网上很多教程都只是配置安全后就能访问端口了,但是我的就不行,后来才发现还要配置防火墙。所以有不能访问端口问题的朋友可以参考下我的步骤。 第一步:配置安全 这一步网上教程很多,大家直接参考就好,将...
  • linux内核——会话、进程、线程

    千次阅读 2017-02-06 09:49:31
    Session(会话)与进程 Shell 分前后台来控制的不是进程而是作业(Job)或者进程(Process Group)。一个前台作业可以由多个进程组成,一个后台作业也可以由多个进程组成,Shell可以同时运行一个前台作业和任意...
  • 数据结构--停车场管理

    万次阅读 多人点赞 2018-03-14 16:41:55
    汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车放在车场的最北端),若车场内已满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第...
  • 根据6杆机构存在多个瞬节的现象,定义了瞬节传递的概念,并证明了多杆机构瞬节传递现象发生在新增杆与组成瞬节构件相连接的时候。因此利用瞬节的传递可以进行具有稳定自锁功能的多杆机构设计;结合假肢的...
  • JAVA简单实现停车场系统

    千次阅读 多人点赞 2017-04-12 00:44:41
    依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开...
  • 2.1 作业描述一个十字路口,共有四红绿灯,每个路口的车辆都遵循“红灯、绿灯行”的原则,假设将每一台汽车都作为一个进程,请设计良好的机制,展示出合理的“十字路口交通管理”情况。2.2 作业要求1. 车辆数目...
  • 汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的...
  • 根据压滤机协调控制系统需兼具分布式与高性能通信的要求,针对压滤机的启、进料、卸料环节的配合问题,设计了一种压滤机协调控制系统嵌入式管理终端。该终端采用STM32F407ZGT6微控制器,基于精矿槽液位、压滤...
  • 停车场管理(栈和队列的应用)

    万次阅读 多人点赞 2017-04-05 21:18:07
    汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,758
精华内容 53,103
关键字:

停怎么组