毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

java利用由结构类型chNode形成的链表来存储字符串

更新时间:2011-5-12:  来源:毕业论文

java利用由结构类型chNode形成的链表来存储字符串
需求分析
利用由结构类型chNode形成的“链表”来存储字符串。
输入形式:输入结点的个数及字符,字符串的长度及字符
输出形式:输出链表以及字符串
程序所能达到的功能:具有void catStr (char* a, chNode* p); void displayStr (chNode* p)和void getStr (char *b, chNode* p)三个功能

测试的数据:结点的字符:abcd     字符串的字符:efgh
6.2 概要设计
本题的主要设计思路:定义一个结点的类,用于存放结点的字符以及结点的后继项。然后定义一个主类,依次调用catStr(),displayStr(),getStr(),sort()等方法。实现链表的串接、链表的显示、字符串的赋值以及对结点进行排序,主要是与输入对应。
6.3 详细设计与编码
见上传程序。
6.4 调试分析
刚开始做这个实验时,对怎样去定义后继结点出现了一些问题,因为我一直以为不能在一个类中定义同样的类的实例变量。然后在输出上也有一些问题,输出时总是与输入时相反,所以我就调用了sort()函数将chNode的字符进行重新赋值。
6.5 用户使用说明
用户根据程序的提示输入适当的值。
6.6 测试数据
 
输入结点的个数:4    输入字符:a b c d
 输入字符串的长度:4    输入字符串的字符:e f g h
输出结果:
6.7 设计心得:
在这次实验中,无意间我用到了Java的泛型类ArrayList,在这个类中,我可以加入后面定义的类型,在此实验中用了chNode类型,主要进行链表的连接。通过这次实验,我学会了怎样去编写一个链表。其实这个功能在ArrayList中早已存在,而我只不过去覆盖了这个功能。

import java.util.*;

class StringOperation {
 public void catStr(char[] a){  //将字符串a加到链表中
  chNode[] str_a=new chNode[a.length];
  str_a[a.length-1]=new chNode(a[a.length-1],null);  //先创建最后一个结点,且next指向空
  for(int i=a.length-2;i>=0;--i){  //创建其它结点
   str_a[i]=new chNode(a[i],str_a[i+1]);
  }
  
  for(int i=0;i<str_a.length;++i)  //逐个加入到链表中,且在node之后
   list.add(str_a[i]);
 }
原文请找腾讯752018766六,维-论'文.网http://www.lwfree.cn/   }
  System.out.println();
 }
 
 public void getStr(char[] b){  //将链表中的元素赋给字符串数组b
  for(int i=0;i<list.size();++i)
   b[i]=list.get(i).getChar();
 }
 
 public static void main(String[] args){
  System.out.print("/*************************************************\n\n"+
                "File name:       软件设计课程设计基础题21(基础题21.java)\n\n"+
                "Author: 计06-1  郭献铮                 Date: 08.12.8\n\n"+
                "Description:     利用由结构类型chNode形成的“链表”来存储字符串;\n\n"+
                "Function List:  // 主要函数列表,每条记录应包括函数名及功能简要说明\n\n"+
                "1.main()函数       完成各种提示与主操作输入输出\n\n"+
                "2.catStr()函数     将字符串加入到链表的尾部;\n\n"+
                "3.displayStr()函数 显示链表,输出链表的元素;\n\n"+
                "4.getStr()函数     将链表中的元素赋值给字符串数组;\n\n"+
                "5.sort()函数       对创建的结点进行排序;\n\n"+
                "6.chNode类         表示结点的类型,其中域包括字符,后继结点;\n\n"+
                "*****************************************************/\n\n");
  
  System.out.print("请输入结点的个数:");
  Scanner in=new Scanner(System.in);
  int num=in.nextInt();
  chNode[] node=new chNode[num];
  System.out.println("结点的字符(空格隔开):");
  in=new Scanner(System.in);
  node[node.length-1]=new chNode(in.next().charAt(0),null);
  for(int i=node.length-2;i>=0;--i)
   node[i]=new chNode(in.next().charAt(0),node[i+1]);

[1] [2] 下一页

java利用由结构类型chNode形成的链表来存储字符串下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。