zoukankan      html  css  js  c++  java
  • 随笔--新建查询

    今天,上数据库课,偶然想着可以用hash表的思想去查询,那样肯定很快,回来敲了敲,发现结果竟然和自己预想的不符;很疑惑;

    然后改了下,不用string了,就对了。。。

    代码贴上:

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<vector>
    #include<string>
    #include<map>
    using namespace std;
    const int INF=0x3f3f3f3f;
    #define mem(x,y) memset(x,y,sizeof(x))
    typedef long long LL;
    const int MAXN=1010;
    int head[MAXN],next[MAXN];
    map<int,string>hash;
    int top;
    void add(int x,string s){
    	hash[top]=s;
    //	printf("%d ",top);
    //	puts(hash[top].c_str());
    	next[top]=head[x];
    	head[x]=top++;
    }
    int main(){
    	int N;
    	while(~scanf("%d",&N)){
    		top=0;
    		mem(head,-1);mem(next,0);
    		hash.clear();
    		int a;
    		string s;
    		while(N--){
    			scanf("%d%s",&a,s.c_str());
    			add(a,s);
    		}
    		scanf("%d",&a);
    		for(int i=head[a];i!=-1;i=next[i]){
    			printf("%d ",i);
    			puts(hash[i].c_str());
    		}
    	}
    	return 0;
    }
    /*********/
    5
    9 asd
    8 qer
    5 fhd
    5 yui
    5 sdf
    5
    /**********/
    结果:
    4 sdf
    3 sdf
    2 sdf
    /*********/
    预想的结果:
    4 sdf
    3 yui
    2 fhd
    

      代码:

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<vector>
    #include<string>
    #include<map>
    using namespace std;
    const int INF=0x3f3f3f3f;
    #define mem(x,y) memset(x,y,sizeof(x))
    typedef long long LL;
    const int MAXN=1010;
    int head[MAXN],next[MAXN];
    map<int,string>hash;
    int top;
    void add(int x,char *s){
        hash[top]=s;
    //    printf("%d ",top);
    //    puts(hash[top].c_str());
        next[top]=head[x];
        head[x]=top++;
    }
    int main(){
        int N;
        while(~scanf("%d",&N)){
            top=0;
            mem(head,-1);mem(next,0);
            hash.clear();
            int a;
            char s[110];
            while(N--){
                scanf("%d%s",&a,s);
                add(a,s);
            }
            scanf("%d",&a);
            for(int i=head[a];i!=-1;i=next[i]){
                printf("%d ",i);
                //cout<<hash[i]<<endl; 
                printf("%s
    ",hash[i].c_str()); 
            //    puts(hash[i].c_str());
            }
        }
        return 0;
    }
    --create database soft14
    
    --drop database soft14
    
    --use soft14
    
    --create table student(
    --    sid int,
    --    sns varchar(8)
    --)
    
    --alter table student
    --alter column sid char(4)
    --add stuid char(4)
    --drop column sid
    --drop table class1012
    --create table class1012 (
    --    sid varchar(20),sage int, 
    --    sweight int
    --)
    --5位第1大写,18-2540-100,1000
    
    --declare @i int, @id varchar(6), @sw int, @sa int
    --declare @c char, @j int
    --select @i=1,@j=1
    --while(@i <= 1000)
    --begin
    --    --set @id = char(rand()*26+65)
    --    set @id=''
    --    set @j = 1
    --    while(@j <= 5)
    --    begin
    --        set @id=@id + char(rand()*26+97)
    --        set @j = @j + 1
    --    end
    --    set @id=upper(substring(@id,1,1))+right(@id,4)
    --    set @sa = rand()*7+18
    --    set @sw = rand()*60+40
    --    insert into class1012 
    --    values(
    --        @id,@sa,@sw
    --    )
    --    set @i = @i + 1
    --end
    --select * from class1012
    
    --select * from class1012 where(
    --    sage = 22 and sweight = 51
    --)
    
    
    --update class1012
    --select sid from class1012 
    
    --select sid as 姓名, sage as 年龄, sweight as 体重 into class10121 from class1012
    --select * from class10121
    
    --drop table class10122
    --select * into class10122 from class1012 where ascii(left(sid,1))=65 and sage=18
    --select *from class10122
     
    --select distinct * from class1012 order by sid desc 
    
    --select distinct sage from class1012
    
    
    select * from class1012 where ascii(left(sid, 1))>=65 and ascii(left(sid,1))<=91

    人之初,性本善,性相近,习相远。苟不教,性乃迁,教之道,贵以专。   

    昔孟母,择邻处,子不学,断机杼。窦燕山,有义方,教五子,名俱扬。   

    养不教,父之过,教不严,师之惰。子不学,非所宜,幼不学,老何为?   

    玉不琢,不成器,人不学,不知义。为人子,方少时,亲师友,习礼仪。   

    香九龄,能温席,孝于亲,所当执。融四岁,能让梨,弟于长,宜先知。   

    首孝悌,次见闻,知某数,识某文。一而十,十而百,百而千,千而万。   

    三才者,天地人,三光者,日月星。三纲者,君臣义,父子亲,夫妇顺。   

    曰春夏,曰秋冬,此四时,运不穷。曰南北,曰西东,此四方,应乎中。   

    曰水火,木金土,此五行,本乎数。十干者,甲至癸。十二支,子至亥。   

    曰黄道,日所躔。曰赤道,当中权。赤道下,温暖极。我中华,在东北。   

    曰江河,曰淮济。此四渎,水之纪。曰岱华,嵩恒衡。此五岳,山之名。   

    曰士农,曰工商。此四民,国之良。曰仁义,礼智信,此五常,不容紊。   

    地所生,有草木。此植物,遍水陆。有虫鱼,有鸟兽。此动物,能飞走。   

    稻粱菽,麦黍稷。此六谷,人所食。马牛羊,鸡犬豕。此六畜,人所饲。   

    曰喜怒,曰哀惧,爱恶欲,七情具。青赤黄,及白黑,此五色,目所识。   

    酸苦甘,及辛咸,此五味,口所含。膻焦香,及腥朽,此五臭,鼻所嗅。   

    匏土革,木石金,丝与竹,乃八音。曰平上,曰去入,此四声,宜调协。   

    高曾祖,父而身,身而子,子而孙。自子孙,至玄曾,乃九族,人之伦。   

    父子恩,夫妇从,兄则友,弟则恭;长幼序,友与朋,君则敬,臣则忠。   

    此十义,人所同,当顺叙,勿违背。斩齐衰,大小幼。至缌麻,五服终。   

    礼乐射,御书数,古六艺,今不具。唯书学,人共遵,既识字,讲说文。   

    有古文,大小篆,隶草继,不可乱。   

    若广学,惧其繁,但略说,能知源。凡训蒙,须讲究,详训诂,明句读。   

    为学者,必有初,小学终,至四书。论语者,二十篇,群弟子,记善言。   

    孟子者,七篇止,讲道德,说仁义。作中庸,子思笔,中不偏,庸不易。   

    作大学,乃曾子,自修齐,至平治。孝经通,四书熟,如六经,始可读。   

    诗书易,礼春秋,号六经,当讲究。有连山,有归藏,有周易,三易详。   

    有典谟,有训诰,有誓命,书之奥。我周公,作周礼,著六官,存治体。   

    大小戴,注礼记,述圣言,礼乐备。曰国风,曰雅颂,号四诗,当讽咏。   

    诗既亡,春秋作,寓褒贬,别善恶。三传者,有公羊,有左氏,有谷梁。   

    经既明,方读子,撮其要,记其事。五子者,有荀扬,文中子,及老庄。   

    经子通,读诸史,考世系,知终始。自羲农,至黄帝,号三皇,居上世。   

    唐有虞,号二帝,相揖逊,称盛世。夏有禹,商有汤,周文武,称三王。   

    夏传子,家天下,四百载,迁夏社。汤伐夏,国号商,六百载,至纣亡。   

    周武王,始诛纣,八百载,最长久。周辙东,王纲坠,逞干戈,尚游说。   

    始春秋,终战国,五霸强,七雄出。蠃秦氏,始兼并,传二世,楚汉争。   

    高祖兴,汉业建,至孝平,王莽篡。光武兴,为东汉,四百年,终于献。   

    魏蜀吴,争汉鼎,号三国,迄两晋。宋齐继,梁陈承,为南朝,都金陵。   

    北元魏,分东西,宇文周,与高齐。迨至隋,一土宇,不再传,失统绪。   

    唐高祖,起义师,除隋乱,创国基。二十传,三百载,梁灭之,国乃改。   

    梁唐晋,及汉周,称五代,皆有由。炎宋兴,受周禅。十八传,南北混。   

    辽与金,皆称帝,元灭金,绝宋世。舆图广,超前代,九十载,国祚废。   

    太祖兴,国大明,号洪武,都金陵。迨成祖,迁燕京,十六世,至崇祯。  

    权阉肆,寇如林,李闯出,神器焚。清世祖,膺景命,靖四方,克大定

  • 相关阅读:
    用记事本编写C#程序并运行C#代码
    C#传递参数大集合
    JQuery或JavaScript获取网页的宽度、高等
    mybatis
    mysql 函数
    eclipse sts 常规操作
    谷歌浏览器自动翻译当前网页
    推荐Calendar操作日期
    IDEA 快捷键
    eclipse sts 快捷键
  • 原文地址:https://www.cnblogs.com/handsomecui/p/4994916.html
Copyright © 2011-2022 走看看