数据结构期末复习代码_第1页
数据结构期末复习代码_第2页
数据结构期末复习代码_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.停车场代码:publicclassOrderStack(inttop=-1;String[]stack;publicOrderStack(intinitcap)throwsException{if(initcap<=0){thrownewException("容量必须大于或等于1");}else{stack=newString[initcap];}}publicbooleanempty(){returntop=-1;}publicvoidpush(Stringelement){If(top==stack.length-1)System.out.println(“栈满”);Stack[++top]=element;}PublicStringpop(){If(empty())System.out.println(“栈空”);StringtopElement=stack[top];Stack[top--]=null;ReturntopElement;}publicstaticvoidmain(String[]args){try{String[]bus=newString[]{"001","002","003","004"};OrderStackos=newOrderStack(bus.length);for(inti=0;i<bus.length;i++){os.push(bus[i]);}while(os.top>-1){System.out.println(os.pop());}}catch(Exceptione){e.printStackTrace();}}}2.折半查找代码:publicclassHalfSearch{publicintBinary_Search(inta[],intk){intlow,high,mid,flag=0;low=1;high=a.length;while(low<=higth){mid=(low+higth)/2;if(k<a[mid])higth=mid-1;elseif(k>a[mid])low=mid+1;else{flag=mid;System.out.println(flag);break;}}returnflag;}publicstaticvoidmain(String[]args){int[]b={6,9,12,25,32,55,73,76,95,124};HalfSearchcl=newHalfSearch();cl.Binary_Search(b,25);}}3.一个单链表中插一个数入://只写关键的,具体的自己在加加publicvoidinsert(LingL,intk){ p=L.head; while(k<p.getnext().data){ p=p.getnext(); } Nodenode=newNode(k); node.next=p.next; p.next=node;}4..最大公约数代码:packagepk3;classex1{intgys1(intm,intn){intk,y;if(m<n){k=m;m=n;n=k;}while(m%n!=0){y=m%n;m=n;n=y;}returnn;}publicstaticvoidmain(String[]args){ex1e1=newex1();System.out.println(e1.gys1(6,4));ex1e2=newex1();System.out.println(e1.gys2(6,4));}}5.链表的插入和删除代码:publicclassLinkNode{publicintdate=-1;publicLinkNodenext=null;publicvoidsetDate(intdate){ this.date=date;}publicvoidsetNex(LinkNodenex){ this.next=nex;}publicintgetDate(){ return(this.date)}publicLinkNodegetNext(){ return(this.next);}}publicclassLinkTable{privateLinkNodehead=null;privateintcounts=0;publicvoidinsert(intd){ if(head==null){ head=newLinkNode(); } LinkNoden=newLinkNode(); n.setDate(d); if(head.getNext()==null){ head.setNex(n); } else{ n.setNex(head.getNext()); head.setNex(n); } counts++;}publicvoidprint(){ LinkNoden=head.getNext(); intiCounter=1; while(n!=null){ System.out.print(n.getDate()+""); n=n.getNext(); iCounter++; }}publicintsize(){ returnthis.counts;}publicvoiddelete(intnum){ LinkNodep1=head; while(p1.getNext().getDate()!=num){ p1=p1.getNext(); } p1.setNex(p1.getNext().getNext()); counts--;}publicstaticvoidmain(String[]args){ LinkTablelink=newLinkTable(); link.insert(30); link.insert(40); link.insert(50); link.insert(5); link.insert(10); link.print(); System.out.println(); link.delete(10); link.print(); }}6.用递归写累加代码:importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassplus{ publicstaticvoidmain(String[]arg)throwsIOException{ plusp=newplus(); intn;Stringnn;InputStreamReaderir=newInputStreamReader(System.in);BufferedReaderin=newBufferedReader(ir);nn=in.readLine();n=Integer.parseInt(nn);intresult=p.add(n);System.out.print("theresultis"+":"+result); } publicintadd(intn){ intresult=0; if(n==1) {result=result+1; } else { result=n+add(n-1); } returnresult; }}7.栈实现数组逆序代码:(我只会写关键的,你们自己在改改)stacks;Nodep=L.head;While(p.next!=null){s.push(p);p=p.next;}While(!s.empty()){p.next=s.pop();p=p.next;}8.判断一个数是否为素数代码:publicclassabc{ publicstaticvoidmain(String[]args){ for(intk=1;k<=100;k++){ if(Issu(k)){ System.out.print(k+""); } } } publicstaticbooleanIssu(intn){ inti; if(n==1)returnfalse; i=(int)Math.sqrt(n); for(intj=2;j<=i;j++){ if(n%j==0)returnfalse;} returntrue}}9.在数组中加入一个数;importjava.util.Vector;publicclassabc{ publicstaticvoidmai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论