1、自考实验题目数据结构实验题目数据结构实验一1 实验题目: 顺序表的建立 、插入、 删除等操作。2实验目的:(1) 掌握顺序表的存储结构.(2) 验证顺序表及其基本操作的实现.(3) 进一步掌握数据结构及算法的程序实现的基本方法.3设计思想:4程序代码:/The following code is a pseudo-header*/This is a procedure to print an arraytemplate void Print1(T a,int length) char halt; cinhalt; system(cls); for(int k=0;klength;k+) cou
2、takt; coutendl; template void Print1(T a,int length,int n) char halt; cinhalt; system(cls); for(int k=n;k;k-) coutt; for(k=n;klength;k+) coutakt; coutendl; /This is a procedure to show a datum to be inserted into the arraytemplate void Ins_dat(T a,T datum,int n) /int halt; /cinhalt; /system(cls); fo
3、r(int k=n-1;k;k-) coutt; coutdatumendl;/This is a procedure to show which item will be deletedtemplate void Del_dat(T a,int n) /char halt; / system(cls); for(int k=n-1;k;k-) coutt; coutendl;/The code above is a pseudo-header*#include#include #includegraph.h/Class Seq_listtemplate class Seq_listpubli
4、c: void Manage(); Seq_list(T a,int n); private: void Insert(T data,int n); void Delete(int n); void Print(); T array10; int length;/Initialization proceduretemplate Seq_list:Seq_list(T a,int n) length=n; for(;n;) arrayn=a-n; Print1(array,length,n); /Print1 called! /The procedure to manage an arrayte
5、mplate void Seq_list:Manage() char flag; while(1) coutOperations:ntTo insert a datum,press i;ntTo delete a datum,press d;ntTo print the array,press pn; coutflag; if(flag=i|flag=I) cout9) coutThe sequential list is full!n; else coutThe length of the list is lengthendl; coutdatum; coutpst; Insert(datu
6、m,pst); else if(flag=d|flag=D) int pst; coutpst; Delete(pst); else if(flag=p|flag=P) Print(); else if(flag=q|flag=Q) break; else coutNo definition!endl; /The procedure to print the arraytemplate void Seq_list:Print() for(int i=0;ilength;i+) coutarrayit; coutendl;/The procedure to insert a datum in t
7、he arraytemplate void Seq_list:Insert(T data,int n) if(nlength+1) cout=n;i-) arrayi=arrayi-1; /cinhalt; Print1(array,length); /Print1 called! Ins_dat(array,data,n); /Ins_dat called!; arrayi=data; Print1(array,length); /Print1 called! Ins_dat(array,data,n); /Ins_dat called!; Print1(array,length); /Pr
8、int1 called! /The procedure to delete a datum in the arraytemplate void Seq_list:Delete(int n) if(nlength) coutPosition Error!endl; else Print1(array,length); Del_dat(array,n); /Del_dat called! for(int i=n-1;ilength-1;i+)/newnewnewnew arrayi=arrayi+1; Print1(array,length); /Print1 called! Del_dat(ar
9、ray,n); /Del_dat called! /endnewnew length-; Print1(array,length); /Print1 called! /End_Deletion /main funtionvoid main() int a10=3,5,4,1,98,3,9; coutInput charicters to start initializing the object:; Seq_list seq=Seq_list(a,7); seq.Manage();5实验心得:数据结构实验二1 实验题目: 直接插入排序的基本操作2实验目的:(1) 掌握直接插入排序算法的基本思想
10、;(2) 验证直接插入排序算法的实现方法;(3) 进一步掌握数据结构及算法的程序实现的基本方法;3设计思想:4程序代码:/This is a procedure to print an arraytemplate void Print1(T a,int length) char halt; cinhalt; system(cls); for(int k=0;klength;k+) coutakt; coutendl; template void Print1(T a,int length,int n) char halt; cinhalt; system(cls); for(int k=n;k
11、;k-) coutt; for(k=n;klength;k+) coutarraykt; coutendl; /This is a procedure to show a datum to be inserted into the arraytemplate void Show_data(T a,T datum,int n) for(int k=n-1;k;k-) coutt; coutdatumendl;/This is a procedure to show which item will be deletedtemplate void Label(T a,int n) for(int k
12、=n-1;k;k-) coutt; coutendl;#include#include #includegraph.h/顺序表类template class Seq_listpublic: Seq_list(T a,int n); void Sort(); void Print();private: T array10; int length;/构造函数template Seq_list:Seq_list(T a,int n) char b; length=n; for(;n;) arrayn=a-n; system(cls); for(int k=n;k;k-) coutt; for(k=n
13、;klength;k+) coutarraykt; coutb; /打印数组template void Seq_list:Print() for(int i=0;ilength;i+) coutarrayit; coutendl;/直接插入排序升序template void Seq_list:Sort() int ar=1; while(ar=1) if(arraypstarraypst-1) temp=arraypst; Print1(array,length); /同上 Show_data(array,temp,pst); Label(array,ar); arraypst=arrayps
14、t-1; Print1(array,length); /同上 Show_data(array,temp,pst); Label(array,ar); arraypst-1=temp; Print1(array,length); /同上 Show_data(array,temp,pst); Label(array,ar); pst-; ar+; Print1(array,length); /显示最后数组 Label(array,ar);/主函数void main() int a10=10,8,19,5,4,3; Seq_list seq=Seq_list(a,6); /这里的数字为数组长度,必须
15、与实际长度一致 seq.Sort(); seq.Print();5实验心得:C语言实验题目C语言实验一1实验题目: 输入一个百分制成绩,要求输出其对应的成绩等级。其中90100分的成绩等级为A,8089分为B,7079分为C,6069分为D,059分E。2实验目的:掌握分支结构的基本用法,学会对C语言中主要语句的用法.3设计思想:4 程序代码:#include int main( )float score;char grade;printf(”please input the score:n”);scanf(”%f”, &score);if(score = 90&score = 80&scor
16、e = 70&score = 60&score = 0&score = 59)grade = E;else printf(”you have entered the wrong grade!”);printf(”score = %.1f,grade = %c”, score, grade);return 0; 5实验心得:C语言实验二1实验题目: 对10个数排序,排序方式为升序。2实验目的: 掌握数组的定义 赋值及使用,进一步熟悉循环语句的使用方法.3 设计思想:4 程序代码#include int main( ) int a11; int i, j, t; printf(”Input 10
17、numbers:n”); for(i = 1; i = 10; i+) scanf(”%d”, &ai); printf(”n”); for(j = 1; j = 9; j+) for(i = 1; i ai+1) t = ai; ai = ai+1; ai+1 = t; printf(”The sorted numbers:n”); for(i = 1; i = 10; i+) printf(”%5d”, ai); return 0;5 实验心得:C语言实验三1 实验题目;求10名学生的平均成绩.2实验目的:学会函数的定义格式和说明方法和调用方式.3 设计思想:4 程序代码#includevoid main() float score10,aver; int i; printf(“input 10 scores:n”); for(i=0;i10;i+) scanf(“%f”,&scorei); aver=average(score); printf(“naverage score is%.2f”,aver);float average(float array10) int i; float aver, float sum=array0; for(i=1;i10;i+) sum=sum+arrayi; aver=sum/10; return (aver);5 实验心得
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1