院系: 计算机科学学院专业: 自动化年级: 课程名称: 计算机软件基础学号: 姓名: 指导教师: 年月日年级班号学号专业自动化姓名实验名称顺序表的基本操作实验类型设计型综合型创新型√实验目的或要求实验目的: 1. 理解线性表顺序存储结构的存储方式及其特点。 2. 掌握对顺序表存储结构的描述、基本操作的算法实现。 3. 掌握通过简单实验对 C 语言基础知识进行回顾;为后序的实验做准备。实验要求: 1. 程序采用模块化设计。(独立的功能要用独立的函数来实现。) 2. 建立相应的功能菜单。(针对本程序的 5 个功能建立相应的五个功能菜单选择相应的功能选项后进入相应的功能操作界面) 3. 每次实验完成后我都会随机挑选 20% 左右的同学的程序进行检查,程序必须能够实现所有要求的功能,并对指定的任一模块进行详细的讲解。若未通过检查视为本次实验不合格。 4. 实验报告根据模板要求认真填写。实验原理(算法流程) #include<> #include<> #include<> #define N 100 #define M 10 int f; typedef struct { char str[20]; }st; typedef struct { int len; st *data; int linesize; }linklist; void init(linklist &l) // 初始化函数{ =0; =(st* )malloc(N*sizeof(st )); =N; } void input(linklist &l,int i) // 输入函数{ printf(" 请输入第%d 个数据:\t",i+1); fflush(stdin); gets([i].str); } void menu() { char ch; printf(" \t|************************* 主 菜单*************************|\n"); printf(" \t| |\n"); printf(" \t|1 、录入数据 2 、查询数据|\n"); printf(" \t| |\n"); printf(" \t|3 、删除数据 4 、插入数据|\n"); printf(" \t| |\n"); printf(" \t|5 、修改数据 6 、退出系统实验原理(算法流程) |\n"); printf(" \t| |\n"); printf(" \t|********************************************************|\n"); printf(" \t 请输入你想进行的操作(1~6):\t"); fflush(stdin); scanf("%d",&f); system("cls"); if(f>6||f<1) { printf(" 输入错误!\n 按任意键返回主菜单重新输入!\n"); fflush(stdin); scanf("%c",&ch); system("cls"); menu(); }} void display(linklist &l) // 输出函数{ int i;char ch; if(==0) { printf(" 顺序表为空!\n 按任意键返回主菜单!\n"); fflush(stdin); scanf("%c",&ch); system("cls"); menu(); } for(i=0;i<;i++) { printf(" 第%d 个数据是:\t",i+1); puts([i].str); }} void creatlist(linklist &l) // 创建顺序表{ int i; i=; char ch,ch1; if(==0) { printf("|************************* 开 始创建顺序表*************************|\n"); 实验原理(算法流程) } input(l,i); i++; ++; printf(" 是否继续输入? <y/n>:\t"); fflush(stdin); scanf("%c",&ch); while(ch=='y'||ch=='Y') { if(>=) { st *newbase; newbase=(st*)realloc(,(N+M)*sizeof(st )); =newbase; +=M; } input(l,i); i++;
数据结构实验报告 来自淘豆网www.taodocs.com转载请标明出处.