新建空白解决方案 exp.sln
在新的解决方案中新建一个控制台应用程序类型的项目 exp1app
- 定义一个含
Main
方法的类ArrayTest.cs
,在其中定义和随机初始化一个具有20个元素、值域在-99到99的整数数组,在数组中查找特定数据,对数组中的数据进行排序。重新随机初始化数组,对数组中的数据按绝对值大小进行排序 - 定义一个含
Main
方法的类GenericList.cs
,在其中利用List<T>
类定义和初始化一个int类型的线性表,在表中添加Add
和插入Insert
新的元素;定义一个自定义Student
类,定义和初始化一个Student
类型的线性表,在表中添加Add
和插入Insert
新的元素 - 定义一个含
Main
方法的类GenericMethod.cs
,在其中利设计一个泛型方法swap
,能交换不同类型的两个变量的值 - 设计定义一个复数类
Complex.cs
,实现复数的基本操作 - 定义一个含
Main
方法、测试复数类的类ComplexTest.cs
,测试复数的基本操作 - 定义一个含
Main
方法的类FileStreamTest.cs
,在其中打开、读入文本文件,将其内容逐行输出到一个新文件,实现文件的拷贝,记录和显示拷贝过程的时间
在解决方案中新建一个控制台应用程序类型的项目 exp2app 和类库型项目 exp2lib
- 在exp2app中定义一个含
Main
方法的类GenericList.cs
,在其中利用List<T>
类定义和初始化一个int 类型的线性表,在表中添加Add
和插入Insert
新的元素;定义一个自定义Student
类,定义和初始化一个Student
类型的线性表,在表中添加Add
和插入Insert
新的元素 - 在exp2lib 中编程实现一个包含起标志作用的头结点的单向链表类。它的头结点不包含数据元素,仅起标志作用,头结点的链指向链表的第一个数据结点;设计泛型链表类
SingleLinkedList
和结点类和SingleLinkedNode
- 使用线性表类求解约瑟夫Josephus环问题
在解决方案中新建一个控制台应用程序类型的项目 exp3app 和类库型项目 exp3lib
- 数制转换:在exp3app 中定义一个含
Main
方法的类Dec2Hex.cs
,在其中利用Stack<T>
类定义和初始化一个int 类型的栈对象,将10 进制整数转换为16 进制整数,输出结果 - 利用队列和栈将一个序列反序:在exp3app 中定义一个含
Main
方法的类Queue2Stack.cs
,在其中利用Queue<T>
类定义和初始化一个int 类型的队列对象,借用一个栈对象将队列中的原序列反序,输出反序后的结果 - 在exp3lib中编程实现自定义栈类
SequencedStack
与队列类SequencedQueue
- 表达式求值:将中缀表达式转换为后缀表达式,再求后缀表达式的值
在解决方案中新建一个控制台应用程序类型的项目 exp4app 和类库型项目 exp4lib
- 在exp4lib 中编程实现自定义链式存储的二叉树结点类
BinaryTreeNode
和二叉树类BinaryTree
,实现先根、中根和后根次序遍历和按层次遍历二叉树的操作;在二叉树类BinaryTree
的定义中, 编程实现静态方法ByOneList(IList<T> t)
,参数t
表示顺序存储的完全二叉树结点值序列,由此建立链式存储结构的完全二叉树 - 在exp4app 中编写一个测试程序
BinaryTreeTest
,构建一颗二叉树实例,输出先根、中根、后根次序及按层次遍历得到的序列;编写一个测试程序ByOneListTest
,构建一颗完全二叉树实例,输出先根、中根、后根次序及按层次遍历得到的序列 - 在二叉树类
BinaryTree
的定义中,编程实现静态方法ByOneList(IList<T> sList, ListFlagsStruc<T> ListFlags)
,它的第一个参数是二叉树的广义表表示式,第二个参数定义广义表表示式所用的分界符,该方法根据特定的广义表表示式建立链式存储结构的二叉树;在exp4app 项目中编写一个测试程序ByOneListGTest
,构建一颗二叉树实例,输出先根、中根、后根次序及按层次遍历得到的序列 - 编写一个Windows 窗体应用程序 exp4xapp :包括以下
MenuStrip
、TreeView
等控件
在解决方案中新建一个控制台应用程序类型的项目 exp5app 和类库型项目 exp5lib
- 在exp5app中定义一个含
Main
方法的类SearchInArray.cs
,在其中定义和随机初始化一个具有5000 个元素、值域在0 到999 的整数数组,在数组中查找指定值的20 个数据;对数组中的数据进行排序,然后在数组中二分查找这20 个数据并比较两种查找算法所花费的不同时间 - 在上一步的基础上将数组改为
Dictionary
并比较这两种数据结构下花费时间的不同 - 在exp5lib 中编程实现自定义的顺序查找表类
LinearSearchList
,实现其中的造表Add
,Insert
、顺序查找IndexOf
、二分查找BinarySearch
算法;在exp5app 项目中定义一个含Main
方法的测试类LinearSearchListTest.cs
,在其中定义和随机初始化一个查找表,测试顺序查找和二分查找算法 - 在exp5lib中设计并编程实现自定义的哈希链表类
HashSearchList
,实现其中的造表与查找算法Hash
,Add
,Search
;在exp5app项目中定义一个含Main
方法的测试类HashSearchListTest.cs
,在其中定义和随机初始化一个Hash
查找表,测试Hash
查找算法 - 编写一个Windows 窗体应用程序 exp5xapp :其中编写一份XML 文件
robots.xml
,包含一组数据,具有ID
、Name
、IQ
等字段;该应用程序可以让用户通过姓名查找相应的数据(利用LINQ语句)
在新的解决方案中新建一个控制台应用程序类型的项目 exp6app 和类库型项目 exp6lib
- 在exp6app中定义一个含
Main
方法的类SortArrayTest.cs
,在其中定义和随机初始化一个具有20 个元素、值域在-99 到99 的整数数组,对数组中的数据进行排序;重新随机初始化数组,对数组中的数据按绝对值大小进行排序 - 在exp6app 中定义一个含
Main
方法的类SortArrayByTest.cs
,在其中定义一个Robot
类型的数组并初始化,然后按Robot
的不同字段进行排序;自定义一个Robot
类型及各种比较的方式Robot.cs
- 在exp6lib中编程实现自定义的排序算法类
Sort
,实现InsertSort
、BubbleSort
、QuickSort
和SelectSort
等算法;在exp6app中定义一个含Main 方法的测试类SortAlgorithmTest.cs
,测试不同的排序算法 - 编写一个Windows 窗体应用程序 exp6xapp :在实验五的基础上增加功能可以让用户通过菜单选择按不同的关键字对数据进行排序