赞
踩
从标准输入中读入一个英文单词及查找方式,在一个给定的英文常用单词字典文件dictionary3000.txt中查找该单词,返回查找结果(查找到返回1,否则返回0)和查找过程中单词的比较次数。
实现查找的4种方法:
1、在单词表中以顺序查找方式查找,因为单词表已排好序,遇到相同的或第一个比待查找的单词大的单词,就要终止查找;
2、在单词表中以折半查找方式查找;
3、在单词表中通过索引表来获取单词查找范围,并在该查找范围中以折半方式查找。索引表构建方式为:以26个英文字母为头字母的单词在字典中的起始位置和单词个数来构建索引表,如:
4、按下面给定的hash函数为字典中单词构造一个hash表,hash冲突时按字典序依次存放单词。hash查找遇到冲突时,采用链地址法处理,在冲突链表中找到或未找到(遇到第一个比待查找的单词大的单词或链表结束)便结束查找。
/* compute hash value for string */
#define NHASH 3001
#define MULT 37
unsigned int hash(char *str)
{
unsigned int h=0;
char *p;
for(p=str; *p!='\0'; p++)
h = MULT*h + *p;
return h % NHASH;
}
提示:hash表可以构建成指针数组,hash冲突的单词形成一有序链表。
环境:VS2019
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<malloc.h> #include<string.h> #define NHASH 3001 #define MULT 37 int Nth = 0; //全局变量记录查找次数 int maintag = 0; //主标记,作为是否查找到该数值的标记 struct wordStack { //存储dictionary的每个单词 char word[20]; }; struct hashWord { //作为建立Hash表的主链,也可以作为冲突时单词链表节点 char word[20]; int tag; hashWord* next; }; //直接法按顺序查找 void sequentialSearch(wordStack* base, wordStack* top, char theword[]) { wordStack* head = base; while (head != top) { Nth++; int ans = strcmp(head->word, theword); if (ans < 0) head++; else { if (ans == 0) maintag = 1; break; } } } //二分法查找 void binarySearch(wordStack* base, wordStack* top, char theword[]) { int sum = top - base; wordStack* head = base; wordStack* last = top - 1; wordStack* mid = head + (sum - 1) / 2;; while (head <= last) { Nth++; sum = sum / 2; int ans2 = strcmp(mid->word, theword); if (ans2 == 0) { maintag = 1; break; } else { if (ans2 > 0) last = mid - 1; else head = mid + 1; mid = base + ((head - base) + (last - base)) / 2; } } } //建立索引查找的索引表,当n>0索引表起始位置min=index[n-1],终止位置max=index[n] int* makeIndexLibrary(wordStack* base, wordStack* top) { int index[26] = { 0 }; wordStack* head = base; while (head != top) index[head++->word[0] - 'a']++; int sum = 0; for (int i = 0; i < 26; i++) { sum += index[i]; index[i] = sum; } return index; } //按照首字母索引进行查找。根据索引表,根据要查找单词首字母的索引区间进二分查找 void indexSearch(wordStack* base, wordStack* top, char theword[]) { int* index = makeIndexLibrary(base, top); int n = theword[0] - 'a'; int max = index[n]; int min = 0; min = n == 0 ? 0 : index[n - 1]; wordStack* findbase = base + min; wordStack* findtop = base + max; binarySearch(findbase, findtop, theword); } //得到Hash索引位置num unsigned int hashNum(char str[]) {//unsigned int很重要 unsigned int num = 0; char* p; for (p = str; *p != '\0'; p++) num = MULT * num + *p; num = num % NHASH; return num; } //Hash索引冲突时,传入存储的单词链表首地址,进行链表顺序查找 int sequantialListSearch(hashWord* thehead, char cmpword[]) { int tag = 0; hashWord* head = thehead; while (head) { Nth++; int ans = strcmp(head->word, cmpword); if (ans < 0) head = head->next; else { if (ans == 0) tag = 1; break; } } return tag; } //根据单词列表创建Hash表,其中注意对Hash堆进行初始化 hashWord* makeHashLibrary(wordStack* base, wordStack* top) { hashWord* hashbase = (hashWord*)malloc(sizeof(hashWord) * NHASH); //初始化很重要 //标记说明:没有存储单词的节点tag=-1;存储一个单词的tag=0;存在单词冲突的tag=1 for (int i = 0; i < NHASH; i++) { (hashbase + i)->tag = -1; (hashbase + i)->next = nullptr; (hashbase + i)->word[0] = '\0'; } hashWord* hashtop = hashbase; wordStack* wordhead = base; while (wordhead != top) { char str[20]; strcpy(str, wordhead++->word); int num = hashNum(str); hashWord* current = hashbase + num; if (current->tag == -1) { strcpy(current->word, str); current->tag = 0; current->next = nullptr; } else { //如果hash冲突,以当前堆节点为链表头指针,找到尾部,插入节点 current->tag = 1; hashWord* hashadd = (hashWord*)malloc(sizeof(hashWord)); //初始化很重要 strcpy(hashadd->word, str); hashadd->next = nullptr; hashWord* headt = current; while (headt->next) headt = headt->next; headt->next = hashadd; } } return hashbase; } //打印显示建立的Hash表 void printHashTable(hashWord* hashbase) { for (int i = 0; i < 3001; i++) { printf("%4d:", i); if ((hashbase + i)->tag == 1) { hashWord* head = hashbase + i; while (head) { printf("%s ", head->word); head = head->next; } printf("\n"); } else printf("%s\n", (hashbase + i)->word); } } //进行Hash查找 void hashSearch(wordStack* base, wordStack* top, char theword[]) { hashWord* hashbase = makeHashLibrary(base, top); printHashTable(hashbase); int num = hashNum(theword); //printf("num:::::%d\n", num); hashWord* current = hashbase + num; if (current->tag == 0) { Nth++; printf("\n%s %s\n", current->word, theword); int ans = strcmp(current->word, theword); if (ans == 0) maintag = 1; } else if(current->tag==1) maintag = sequantialListSearch(current, theword); } int main() { FILE* fpin = fopen("dictionary3000.txt", "r"); wordStack* base = (wordStack*)malloc(sizeof(wordStack) * 3500); wordStack* top = base; //按行读取单词,包括'\n' while (!feof(fpin)) { fgets(top->word, 20, fpin); if(top->word[strlen(top->word) - 1]=='\n') top->word[strlen(top->word) - 1] = '\0'; top++; } fclose(fpin); /*wordStack* head = base; while (head != top) printf("%s\n", head++->word);*/ char searword[20]; scanf("%s", searword); int method = 0; scanf("%d", &method); switch (method) { case 1: sequentialSearch(base, top, searword); break; case 2: binarySearch(base, top, searword); break; case 3: indexSearch(base, top, searword); break; case 4: hashSearch(base, top, searword); break; } printf("%d %d", maintag, Nth); }
dictionary3000.txt
a abandon abandoned ability able about above abroad absence absent absolute absolutely absorb abuse academic accent accept acceptable access accident accidental accidentally accommodation accompany according account accurate accurately accuse achieve achievement acid acknowledge acquire across act action active actively activity actor actual actually ad adapt add addition additional address adequate adequately adjust admiration admire admit adopt adult advance advanced advantage adventure advertise advertisement advertising advice advise affair affect affection afford afraid after afternoon afterwards again against age aged agency agent aggressive ago agree agreement ahead aid aim air aircraft airport alarm alarmed alarming alcohol alcoholic alive all allied allow ally almost alone along alongside aloud alphabet alphabetical alphabetically already also alter alternative alternatively although altogether always am amaze amazed amazing ambition ambulance among amount amuse amused amusing an analyse analysis ancient and anger angle angrily angry animal ankle anniversary announce annoy annoyed annoying annual annually another answer anti anticipate anxiety anxious anxiously any anyone anything anyway anywhere apart apartment apologize apparent apparently appeal appear appearance apple application apply appoint appointment appreciate approach appropriate approval approve approving approximate approximately april area argue argument arise arm armed arms army around arrange arrangement arrest arrival arrive arrow art article artificial artificially artist artistic as ashamed aside ask asleep aspect assist assistance assistant associate associated association assume assure at atmosphere atom attach attached attack attempt attempted attend attention attitude attorney attract attraction attractive audience august aunt author authority automatic automatically autumn available average avoid awake award aware away awful awfully awkward awkwardly baby back background backward backwards bacteria bad badly badtempered bag baggage bake balance ball ban band bandage bank bar bargain barrier base based basic basically basis bath bathroom battery battle bay be beach beak bear beard beat beautiful beautifully beauty because become bed bedroom beef beer before begin beginning behalf behave behaviour behind belief believe bell belong below belt bend beneath benefit bent beside bet better betting between beyond bicycle bid big bill bin biology bird birth birthday biscuit bit bite bitter bitterly black blade blame blank blankly blind block blonde blood blow blue board boat body boil bomb bone book boot border bore bored boring born borrow boss both bother bottle bottom bound bowl box boy boyfriend brain branch brand brave bread break breakfast breast breath breathe breathing breed brick bridge brief briefly bright brightly brilliant bring broad broadcast broadly broken brother brown brush bubble budget build building bullet bunch burn burnt burst bury bus bush business businessman busy but butter button buy buyer by bye cabinet cable cake calculate calculation call calm calmly camera camp campaign camping can cancel cancer candidate candy cannot cap capable capacity capital captain capture car card cardboard care career careful carefully careless carelessly carpet carrot carry case cash cast castle cat catch category cause cd cease ceiling celebrate celebration cell cellphone cent centimetre central centre century ceremony certain certainly certificate chain chair chairman challenge chamber chance change channel chapter character characteristic charge charity chart chase chat cheap cheaply cheat check cheek cheerful cheerfully cheese chemical chemist chemistry cheque chest chew chicken chief child chin chip chocolate choice choose chop church cigarette cinema circle circumstance citizen city civil claim clap class classic classroom clean clear clearly clerk clever click client climate climb climbing clock close closed closely closet cloth clothes clothing cloud club cm coach coal coast coat code coffee coin cold coldly collapse colleague collect collection college colour coloured column combination combine come comedy comfort comfortable comfortably command comment commercial commission commit commitment committee common commonly communicate communication community company compare comparison compete competition competitive complain complaint complete completely complex complicate complicated computer concentrate concentration concept concern concerned concerning concert conclude conclusion concrete condition conduct conference confidence confident confidently confine confined confirm conflict confront confuse confused confusing confusion congratulations congress connect connection conscious consequence conservative consider considerable considerably consideration consist constant constantly construct construction consult consumer contact contain container contemporary content contest context continent continue continuous continuously contract contrast contrasting contribute contribution control controlled convenient convention conventional conversation convert convince cook cooker cookie cooking cool cope copy core corner correct correctly cost cottage cotton cough coughing could council count counter country countryside county couple courage course court cousin cover covered covering cow crack cracked craft crash crazy cream create creature credit crime criminal crisis crisp criterion critical criticism criticize crop cross crowd crowded crown crucial cruel crush cry ct cultural culture cup cupboard curb cure curious curiously curl curly current currently curtain curve curved custom customer customs cut cycle cycling dad daily damage damp dance dancer dancing danger dangerous dare dark data date daughter day dead deaf deal dear death debate debt decade decay december decide decision declare decline decorate decoration decorative decrease deep deeply defeat defence defend define definite definitely definition degree delay deliberate deliberately delicate delight delighted deliver delivery demand demonstrate dentist deny department departure depend deposit depress depressed depressing depth derive describe description desert deserted deserve design desire desk desperate desperately despite destroy destruction detail detailed determination determine determined develop development device devote devoted diagram diamond diary dictionary die diet difference different differently difficult difficulty dig dinner direct direction directly director dirt dirty disabled disadvantage disagree disagreement disappear disappoint disappointed disappointing disappointment disapproval disapprove disapproving disaster disc discipline discount discover discovery discuss discussion disease disgust disgusted disgusting dish dishonest dishonestly disk dislike dismiss display dissolve distance distinguish distribute distribution district disturb disturbing divide division divorce divorced do doctor document dog dollar domestic dominate door dot double doubt down downstairs downward downwards dozen dr draft drag drama dramatic dramatically draw drawer drawing dream dress dressed drink drive driver driving drop drug drugstore drum drunk dry due dull dump during dust duty dvd dying each ear early earn earth ease easily east eastern easy eat economic economy edge edition editor educate educated education effect effective effectively efficient efficiently effort eg egg either elbow elderly elect election electric electrical electricity electronic elegant element elevator else elsewhere email embarrass embarrassed embarrassing embarrassment emerge emergency emotion emotional emotionally emphasis emphasize empire employ employee employer employment empty enable encounter encourage encouragement end ending enemy energy engage engaged engine engineer engineering enjoy enjoyable enjoyment enormous enough enquiry ensure enter entertain entertainer entertaining entertainment enthusiasm enthusiastic entire entirely entitle entrance entry envelope environment environmental equal equally equipment equivalent error escape especially essay essential essentially establish estate estimate etc euro even evening event eventually ever every everyone everything everywhere evidence evil exact exactly exaggerate exaggerated exam examination examine example excellent except exception exchange excite excited excitement exciting exclude excluding excuse executive exercise exhibit exhibition exist existence exit expand expect expectation expected expense expensive experience experienced experiment expert explain explanation explode explore explosion export expose express expression extend extension extensive extent extra extraordinary extreme extremely eye face facility fact factor factory fail failure faint faintly fair fairly faith faithful faithfully fall false fame familiar family famous fan fancy far farm farmer farming farther fashion fashionable fast fasten fat father faucet fault favour favourite fear feather feature february federal fee feed feel feeling fellow female fence festival fetch fever few field fight fighting figure file fill film final finally finance financial find fine finely finger finish finished fire firm firmly first fish fishing fit fix fixed flag flame flash flat flavour flesh flight float flood floor flour flow flower flu fly flying focus fold folding follow following food foot football for force forecast foreign forest forever forget forgive fork form formal formally former formerly formula fortune forward found foundation frame free freedom freely freeze frequent frequently fresh freshly friday fridge friend friendly friendship frighten frightened frightening from front frozen fruit fry fuel full fully fun function fund fundamental funeral funny fur furniture further future gain gallon gamble gambling game gap garage garbage garden gas gasoline gate gather gear general generally generate generation generous generously gentle gentleman gently genuine genuinely geography get giant gift girl girlfriend give glad glass glasses global glove glue gm go goal god gold good goodbye goods govern government governor grab grade gradual gradually grain gram grammar grand grandchild granddaughter grandfather grandmother grandparent grandson grant grass grateful grave gray great greatly green grey groceries grocery ground group grow growth guarantee guard guess guest guide guilty gun guy habit hair hairdresser half hall hammer hand handle hang happen happily happiness happy hard hardly harm harmful harmless hat hate hatred have he head headache heal health healthy hear hearing heart heat heating heaven heavily heavy heel height hell hello help helpful hence her here hero hers herself hesitate hi hide high highlight highly highway hill him himself hip hire his historical history hit hobby hold hole holiday hollow holy home homework honest honestly honour hook hope horizontal horn horror horse hospital host hot hotel hour house household housing how however huge human humorous humour hungry hunt hunting hurry hurt husband ice idea ideal ideally identify identity ie if ignore ill illegal illegally illness illustrate image imaginary imagination imagine immediate immediately immoral impact impatient impatiently implication imply import importance important importantly impose impossible impress impressed impression impressive improve improvement in inability inch incident include including income increase increasingly indeed independence independent independently index indicate indication indirect indirectly individual indoor indoors industrial industry inevitable inevitably infect infected infection infectious influence inform informal information ingredient initial initially initiative injure injured injury ink inner innocent inquiry insect insert inside insist install instance instead institute institution instruction instrument insult insulting insurance intelligence intelligent intend intended intention interest interested interesting interior internal international internet interpret interpretation interrupt interruption interval interview into introduce introduction invent invention invest investigate investigation investment invitation invite involve involved involvement iron irritate irritated irritating ish island issue it item its itself jacket jam january jealous jeans jelly jewellery job join joint jointly joke journalist journey joy judge judgement juice july jump june junior just justice justified justify keen keep key keyboard kick kid kill killing kilogram kilometre kind kindly kindness king kiss kitchen km knee knife knit knitted knitting knock knot know knowledge l label laboratory labour lack lacking lady lake lamp land landscape lane language large largely last late later latest latter laugh launch law lawyer lay layer lazy lead leader leading leaf league lean learn least leather leave lecture left leg legal legally lemon lend length less lesson let letter level library licence license lid lie life lift light lightly like likely limit limited line link lip liquid list listen literature litre little live lively living load loan local locally locate located location lock logic logical lonely long look loose loosely lord lorry lose loss lost lot loud loudly love lovely lover low loyal luck lucky luggage lump lunch lung machine machinery mad magazine magic mail main mainly maintain major majority make makeup male mall man manage management manager manner manufacture manufacturer manufacturing many map march mark market marketing marriage married marry mass massive master match matching mate material mathematics matter maximum may maybe mayor me meal mean meaning means meanwhile measure measurement meat media medical medicine medium meet meeting melt member membership memory mental mentally mention menu mere merely mess message metal method metre mg mid midday middle midnight might mild mile military milk milligram millimetre mind mine mineral minimum minister ministry minor minority minute mirror miss missing mistake mistaken mix mixed mixture mm mobile model modern mom moment monday money monitor month mood moon moral morally more moreover morning most mostly mother motion motor motorcycle mount mountain mouse mouth move movement movie moving mr mrs ms much mud multiply mum murder muscle museum music musical musician must my myself mysterious mystery nail naked name narrow nation national natural naturally nature navy near nearby nearly neat neatly necessarily necessary neck need needle negative neighbour neighbourhood neither nephew nerve nervous nervously nest net network never nevertheless new newly news newspaper next nice nicely niece night no nobody noise noisily noisy non none nonsense nor normal normally north northern nose not note nothing notice noticeable novel november now nowhere nuclear number nurse nut obey object objective observation observe obtain obvious obviously occasion occasionally occupied occupy occur ocean october odd oddly of off offence offend offensive offer office officer official officially often oh oil ok old oldfashioned on once one onion only onto open opening openly operate operation opinion opponent opportunity oppose opposed opposing opposite opposition option or orange order ordinary organ organization organize organized origin original originally other otherwise ought our ours ourselves out outdoor outdoors outer outline output outside outstanding oven over overall overcome owe own owner pace pack package packaging packet page pain painful paint painter painting pair palace pale pan panel pants paper parallel parent park parliament part particular particularly partly partner partnership party pass passage passenger passing passport past path patience patient pattern pause pay payment peace peaceful peak pen pence pencil penny pension people pepper per perfect perfectly perform performance performer perhaps period permanent permanently permission permit person personal personality personally persuade pet petrol phase philosophy phone photocopy photograph photographer photography phrase physical physically physics piano pick picture piece pig pile pill pilot pin pink pint pipe pitch pity place plain plan plane planet planning plant plastic plate platform play player pleasant pleasantly please pleased pleasing pleasure plenty plot plug plus pm pocket poem poetry point pointed poison poisonous pole police policy polish polite politely political politically politician politics pollution pool poor pop popular population port pose position positive possess possession possibility possible possibly post pot potato potential potentially pound pour powder power powerful practical practically practice practise praise prayer precise precisely predict prefer preference pregnant premises preparation prepare prepared presence present presentation preserve president press pressure presumably pretend pretty prevent previous previously price pride priest primarily primary prime prince princess principle print printer printing prior priority prison prisoner private privately prize probable probably problem procedure proceed process produce producer product production profession professional professor profit program programme progress project promise promote promotion prompt promptly pronounce pronunciation proof proper properly property proportion proposal propose prospect protect protection protest proud proudly prove provide provided pt pub public publication publicity publicly publish publishing pull punch punish punishment pupil purchase pure purely purple purpose pursue push put qualification qualified qualify quality quantity quarter queen question quick quickly quiet quietly quit quite quote race racing radio rail railway rain raise range rank rapid rapidly rare rarely rate rather raw re reach react reaction read reader reading ready real realistic reality realize really rear reason reasonable reasonably recall receipt receive recent recently reception reckon recognition recognize recommend record recording recover red reduce reduction refer reference reflect reform refrigerator refusal refuse regard regarding region regional register regret regular regularly regulation reject relate related relation relationship relative relatively relax relaxed relaxing release relevant relief religion religious rely remain remaining remains remark remarkable remarkably remember remind remote removal remove rent rented repair repeat repeated repeatedly replace reply report represent representative reproduce reputation request require requirement rescue research reservation reserve resident resist resistance resolve resort resource respect respond response responsibility responsible rest restaurant restore restrict restricted restriction result retain retire retired retirement return reveal reverse review revise revision revolution reward rhythm rice rich rid ride rider ridiculous riding right rightly ring rise risk rival river road rob rock role roll romantic roof room root rope rough roughly round rounded route routine row royal rub rubber rubbish rude rudely ruin ruined rule ruler rumour run runner running rural rush sack sad sadly sadness safe safely safety sail sailing sailor salad salary sale salt salty same sample sand satisfaction satisfied satisfy satisfying saturday sauce save saving say scale scare scared scene schedule scheme school science scientific scientist scissors score scratch scream screen screw sea seal search season seat second secondary secret secretary secretly section sector secure security see seed seek seem select selection self sell senate senator send senior sense sensible sensitive sentence separate separated separately separation september series serious seriously servant serve service session set settle several severe severely sew sewing sex sexual sexually shade shadow shake shall shallow shame shape shaped share sharp sharply shave she sheep sheet shelf shell shelter shift shine shiny ship shirt shock shocked shocking shoe shoot shooting shop shopping short shortly shot should shoulder shout show shower shut shy sick side sideways sight sign signal signature significant significantly silence silent silk silly silver similar similarly simple simply since sincere sincerely sing singer singing single sink sir sister sit site situation size skilful skilfully skill skilled skin skirt sky sleep sleeve slice slide slight slightly slip slope slow slowly small smart smash smell smile smoke smoking smooth smoothly snake snow so soap social socially society sock soft softly software soil soldier solid solution solve some somebody somehow something sometimes somewhat somewhere son song soon sore sorry sort soul sound soup sour source south southern space spare speak speaker special specialist specially specific specifically speech speed spell spelling spend spice spicy spider spin spirit spiritual spite split spoil spoken spoon sport spot spray spread spring square squeeze stable staff stage stair stamp stand standard star stare start state statement station statue status stay steadily steady steal steam steel steep steeply steer step stick sticky stiff stiffly still sting stir stock stomach stone stop store storm story stove straight strain strange strangely stranger strategy stream street strength stress stressed stretch strict strictly strike striking string strip stripe striped stroke strong strongly structure struggle student studio study stuff stupid style subject substance substantial substantially substitute succeed success successful successfully such suck sudden suddenly suffer suffering sufficient sufficiently sugar suggest suggestion suit suitable suitcase suited sum summary summer sun sunday superior supermarket supply support supporter suppose sure surely surface surname surprise surprised surprising surprisingly surround surrounding surroundings survey survive suspect suspicion suspicious swallow swear swearing sweat sweater sweep sweet swell swelling swim swimming swing switch swollen symbol sympathetic sympathy system table tablet tackle tail take talk tall tank tap tape target task taste tax taxi tea teach teacher teaching team tear technical technique technology telephone television tell temperature temporarily temporary tend tendency tension tent term terrible terribly test text than thank thanks that the theatre their theirs them theme themselves then theory there therefore they thick thickly thickness thief thin thing think thinking thirsty this thorough thoroughly though thought thread threat threaten threatening throat through throughout throw thumb thursday thus ticket tidy tie tight tightly till time timetable tin tiny tip tire tired tiring title to today toe together toilet tomato tomorrow ton tone tongue tonight tonne too tool tooth top topic total totally touch tough tour tourist towards towel tower town toy trace track trade trading tradition traditional traditionally traffic train training transfer transform translate translation transparent transport trap travel traveller treat treatment tree trend trial triangle trick trip tropical trouble trousers truck true truly trust truth try tube tuesday tune tunnel turn tv twice twin twist twisted type typical typically tyre ugly ultimate ultimately umbrella unable unacceptable uncertain uncle uncomfortable unconscious uncontrolled under underground underneath understand understanding underwater underwear undo unemployed unemployment unexpected unexpectedly unfair unfairly unfortunate unfortunately unfriendly unhappiness unhappy uniform unimportant union unique unit unite united universe university unkind unknown unless unlike unlikely unload unlucky unnecessary unpleasant unreasonable unsteady unsuccessful untidy until unusual unusually unwilling unwillingly up upon upper upset upsetting upside upstairs upward upwards urban urge urgent us use used useful useless user usual usually vacation valid valley valuable value van variation varied variety various vary vast vegetable vehicle venture version vertical very via victim victory video view village violence violent violently virtually virus visible vision visit visitor vital vocabulary voice volume vote wage waist wait waiter wake walk walking wall wallet wander want war warm warmth warn warning wash washing waste watch water wave way we weak weakness wealth weapon wear weather web website wedding wednesday week weekend weekly weigh weight welcome well west western wet what whatever wheel when whenever where whereas wherever whether which while whilst whisper whistle white who whoever whole whom whose why wide widely width wife wild wildly will willing willingly willingness win wind window wine wing winner winning winter wire wise wish with withdraw within without witness woman wonder wonderful wood wooden wool word work worker working world worried worry worrying worse worship worth would wound wounded wrap wrapping wrist write writer writing written wrong wrongly yard yawn yeah year yellow yes yesterday yet you young your yours yourself youth zero zone
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。