数据结构实验报告(C语言)(强力推荐)
更新时间:2023-03-09 10:42:01 阅读量: 综合文库 文档下载
数据结构实验
实验内容和目的:
掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。
实验教材:
数据结构题集(C语言版) 清华大学出版社 2007年
实验项目:
实验一、栈和循环队列
㈠、实验内容: ① 栈
掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ② 循环队列
掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。
㈡、实验代码 ① 栈
程序代码:
#include
typedef int SElemType; typedef struct SNode {
SElemType data; struct SNode *next;
}SNode,*LinkStack;
int CreatTwo(LinkStack &head,int n) {
int i; SNode *p;
head=(LinkStack)malloc(sizeof(SNode)); head->next=NULL;
printf(\请输入数据(数字):\\n\ for(i=n;i>0;--i) {
p=(SNode *)malloc(sizeof(SNode)); scanf(\ p->next=head->next; head->next=p; }
return 1; }
int menu_select() {
int sn; for(;;) {
scanf(\ if(sn<1||sn>6)
printf(\输入错误,请重新输入\\n\ else
break; }
return sn; }
int Push(LinkStack &top,SElemType e) {
SNode *q;
q=(LinkStack)malloc(sizeof(SNode)); if(!q) {
printf(\溢出!\\n\ return(ERROR); }
q->data=e;
q->next=top->next; top->next=q; return(OK); }
int Pop(LinkStack &top,SElemType &e) {
SNode *q;
if(!top->next)
{printf(\ return(ERROR);} e=top->next->data; q=top->next;
top->next=q->next; free(q); return(OK); }
void main() { int e;
LinkStack top;
printf(\初始化一个栈;\\n2.PUSH;\\n3.POP;\\n4.显示所有栈里的元素;\\n5.结束;\\n\ while(1) {
switch(menu_select()) {
case 1:
if(CreatTwo(top,Stack_Size))printf(\ case 2:
printf(\ scanf(\
if(Push(top,e))printf(\ break; case 3:
if(Pop(top,e))printf(\ printf(\ break; case 4:
LinkStack p;
printf(\所有栈里的元素:\\n\ p=top;
while(p->next)
{p=p->next;
printf(\ }
printf(\ break; case 5: return; } } }
运行结果:
② 循环队列 程序代码:
#include
int *elem;//队列存储空间 int front;
int rear; }SqQueue;
//判断选择是否正确 int menu_select() {
int sn; for(;;) {
scanf(\ if(sn<1||sn>6)
printf(\输入错误,请重新输入\\n\ else
break; }
return sn; }
//参数(传出)SqQueue &Q,循环队列(空) int InitQueue(SqQueue &Q) {
Q.elem=(int *)malloc(MAXSIZE*sizeof(int)); if(!Q.elem)exit(OVERFLOW); Q.front=Q.rear=-1;
for(int i=0;i //返回Q的元素个数 int QueueLength(SqQueue Q) { return (Q.rear-Q.front+MAXSIZE)%MAXSIZE; } //显示队列的元素 void Display(SqQueue Q) { for(int i=0;i<=QueueLength(Q);i++) if(Q.elem[i]!=-1)printf(\ printf(\} //入队 int EnQueue(SqQueue &Q,int e) { Q.rear=(Q.rear+1)%MAXSIZE; if(Q.rear==Q.front)return ERROR; Q.elem[Q.rear]=e; return OK; } //出队 int DeQueue(SqQueue &Q,int &e) { if(Q.front==Q.rear)return ERROR; e=Q.elem[Q.front+1]; Q.elem[Q.front+1]=-1; Q.front=(Q.front+1)%MAXSIZE; return OK; } void main() { SqQueue Q; InitQueue(Q); int elem,e; printf(\请输入队列元素(以0结束):\\n\ scanf(\ while(elem!=0) { EnQueue(Q,elem); scanf(\ } printf(\队列为:\\n\ Display(Q); printf(\初始化一个队列;\\n2.入队;\\n3.出队;\\n4.显示队列的所有元素;\\n5.队列长度:\\n6.结束;\\n\ while(1) { switch(menu_select()) { case 1: printf(\请输入队列元素(以0结束):\\n\ scanf(\ while(elem!=0) {EnQueue(Q,elem); scanf(\ printf(\队列为:\\n\ Display(Q); fflush(stdin); break; case 2: scanf(\ EnQueue(Q,elem); printf(\队列为:\\n\ Display(Q); fflush(stdin); break; case 3: DeQueue(Q,elem); printf(\队列为:\\n\ Display(Q); break; case 4: printf(\队列的所有元素:\\n\ Display(Q); break; case 5: printf(\ break; case 6: return; } } } 运行结果: 实验二、数组 ㈠、实验内容: 数组一般不做插入或删除操作,也就是说,一旦建立了数组,则结构中的数据元素个数和元素之间的关系就不再发生变动。本程序数组的大小定义为3*3,可以通过修改“#define M”来变动。本程序具有矩阵相加、矩阵A转置、矩阵B转置、矩阵相乘四个功能。 ㈡、实验代码: #include void MatrixAdd(int m1[M][M],int m2[M][M],int result[M][M])//两个矩阵m1和m2相加,结果放到result { int i,j; for (i=0;i for(j=0;j result[i][j]=m1[i][j]+m2[i][j]; } } void MatrixTrams(int m1[M][M],int result[M][M])//矩阵转置 { int i,j; for (i=0;i for (j=0;j result[i][j]=m1[j][i]; } } void MatrixMultiply(int m1[M][M],int m2[M][M],int result[M][M]) { int i,j; for (i=0;i for (j=0;j result[i][j]=0; for (int k=0;k result[i][j]+=m1[i][k]*m2[k][j]; } } } void Display(int result[M][M])//显示矩阵 { int i,j; for (i=0;i for(j=0;j printf(\ printf(\ } } void main() { int A[M][M],B[M][M]; int i,j; printf(\请输入第一个矩阵:\\n\ for(i=0;i scanf(\ printf(\请输入第二个矩阵:\\n\ for(i=0;i scanf(\ int result[M][M]; /*printf(\矩阵A:\\n\ Display(A); printf(\矩阵B:\\n\ Display(B);*/ printf(\请选择:\\n1.矩阵相加:\\n2.矩阵A转置:\\n3.矩阵B转置:\\n4.矩阵相乘:\\n5.退出。\\n\\n\ while (1) {int l; scanf(\ switch(l) { case 1: printf(\矩阵相加的运算结果:\\n\ MatrixAdd(A,B,result); Display(result); printf(\ break; case 2: printf(\矩阵A转置的运算结果:\\n\ } MatrixTrams(A,result); Display(result); printf(\ break; case 3: printf(\矩阵B转置的运算结果:\\n\ MatrixTrams(B,result); Display(result); printf(\ break; case 4: printf(\矩阵相乘的运算结果:\\n\ MatrixMultiply(A,B,result); Display(result); printf(\ break; case 5: printf(\退出。\\n\ return; default: printf(\输入错误!\ printf(\} } 实验结果: 实验三、查找 ㈠ 、实验内容 掌握各种查找(顺序、二分法、查找树、哈希)方法及适用场合,并能在解决实际问题时灵活应用。本实验采用二分查找。二分查找又称折半查找,它是一种效率较高的查找方法。折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。本程序具有找出数据位置和显示查找次数两个功能。 ㈡、实验代码: #include int r[MAX],i,k,low,high,mid,m,n; printf(\建立递增有序的查找顺序表(以-1结束):\\n\ for(i=0;i scanf(\ if(r[i]==-1) { n=i; break; } } printf(\请输入要查找的数据:\\n\ scanf(\ low=0;high=n-1;m=0; while(low<=high) { mid=(low+high)/2; m++; if(r[mid]>k) high=mid-1; else if(r[mid] break; } if(low>high) { printf(\没有找到\\n\ printf(\共进行%d次比较。\\n\ if(r[mid] printf(\可将这个数插入到第%d个数的后面。\\n\ } else { printf(\要找的数据=%d在第%d个数的位置上。\\n\ printf(\共进行了%d次比较。\\n\ } } 实验结果: 实验四、树 ㈠ 、实验内容: 进一步掌握树的结构及非线性特点,递归特点和动态性;进一步巩固对指针的使用和二叉树的三种遍历方法、建立方法及用广义表进行输入输出。本程序将第一个元素作为树根,其余元素若小于树根则为左子树,若大于树根则为右子树。本程序具有求左子树、求右子树、求深度、先序遍历、中序遍历(递归算法)、中序遍历(非递归算法)、后序遍历六个功能。 ㈡、实验代码 //描述:两个指针指向左右孩子,算法见教材 #include typedef struct btnode { int Data; struct btnode *Llink; struct btnode *Rlink; }btnode,*btreetype; btreetype CreatTree(int n)//传入数据数量,返回根结点指针 { int i; btreetype root=NULL; for (i=0;i btreetype newNode,currentNode,parentNode; newNode=(btreetype)malloc(sizeof(btnode)); scanf(\ newNode->Llink=NULL; newNode->Rlink=NULL; currentNode=root; if(currentNode==NULL)root=newNode; else{ while (currentNode!=NULL) { parentNode=currentNode; if(newNode->Data currentNode=currentNode->Rlink; } if(newNode->Data parentNode->Rlink=newNode; } } return root; } void OutputTree(btreetype &root) { btreetype p; p=root->Llink; printf(\建立的二叉树的左子树为:\\n\ while (p!=NULL) { printf(\ p=p->Llink; } p=root->Rlink; printf(\建立的二叉树的右子树为:\\n\ while (p!=NULL) { printf(\ p=p->Rlink; } } int depth(btreetype root) { btreetype p; p=root; int dep1; int dep2; if(root==NULL)return 0; else { dep1=depth(p->Llink); dep2=depth(p->Rlink); if(dep1>dep2)return(dep1+1); else return(dep2+1); } } void PreOrder(btreetype &root)//先序遍历(递归) { btreetype p; p=root; if (p!=NULL) { printf(\ PreOrder(p->Llink); PreOrder(p->Rlink); } } void InOrder(btreetype &root)//中序遍历(递归) { btreetype p; p=root; if (p!=NULL) { InOrder(p->Llink); printf(\ InOrder(p->Rlink); } } void InOrder_Norecuision(btreetype &root) { btreetype stack[MAX]; btreetype p; int top=0; p=root; do { while (p!=NULL) { top++; stack[top]=p; p=p->Llink; } if (top>0) { p=stack[top]; top--; printf(\ p=p->Rlink; } } while (p!=NULL||top!=0); } void PostOrder(btreetype &root) { btreetype p; p=root; if (p!=NULL) { PostOrder(p->Llink); PostOrder(p->Rlink); printf(\ } } void main() { btreetype btree; int count; printf(\请输入元素个数:\\n\ scanf(\ printf(\请输入数据:\\n\ btree=CreatTree(count); OutputTree(btree); printf(\建立的二叉树的深度为:%d\\n\ printf(\先序遍历:\\n\ PreOrder(btree); printf(\中序遍历(递归算法):\\n\ InOrder(btree); printf(\中序遍历(非递归算法):\\n\ InOrder_Norecuision(btree); printf(\后序遍历:\\n\ PostOrder(btree); printf(\} 实验结果: 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ③ 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ④ 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ③ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ⑤ 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ⑥ 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ④ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ⑦ 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ⑧ 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ⑤ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ⑨ 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ⑩ 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ⑥ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ? 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ? 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ⑦ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ? 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ? 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ⑧ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ? 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ? 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ⑨ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ? 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ? 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ⑩ 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: ? 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 ? 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 21 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 22 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 23 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 24 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 25 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 26 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 27 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 28 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 29 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 30 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 31 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 32 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 33 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 34 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 35 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 36 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 37 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 38 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 ? 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 39 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 40 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 21 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 41 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 42 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 22 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 43 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 44 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 23 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 45 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 46 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 24 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 47 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 48 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 25 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 49 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 50 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 26 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 51 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 52 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 27 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 53 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 54 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 28 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 55 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 56 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 29 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 57 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 58 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 30 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 59 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 60 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 31 栈 程序代码: #include typedef int SElemType; typedef struct SNode { SElemType data; struct SNode *next; 数据结构实验 实验内容和目的: 掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。 实验教材: 数据结构题集(C语言版) 清华大学出版社 2007年 实验项目: 实验一、栈和循环队列 ㈠、实验内容: 61 栈 掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。 62 循环队列 掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。 ㈡、实验代码 32 栈 程序代码: #include typedef int SElemType; typedef struct SNode
正在阅读:
数据结构实验报告(C语言)(强力推荐)03-09
化学实验在课堂教学中的作用03-23
中华上下五千年读后感06-11
纸绳拖重11-10
叶子的旅途作文800字07-07
注塑工大赛试题--判断题10-09
知足而常乐作文600字06-21
固定资产验收报告08-13
参观海洋公园作文500字07-11
人教版六年级语文下册第三单元教材分析05-14
- 岩土力学复习题
- 2013届高三第二次考试理综及答案 - 图文
- 《造一艘小船》练习题
- 2018年中国保温冷藏车市场竞争格局分析研究报告目录
- 计算机常见编码
- 浅析初级指挥人才军事素质实践教学目标体系的构建问题
- (2017版)中国铁艺行业发展前景预测及投资战略咨询报告 -
- 板桥生态园组织架构及管理条例
- 少儿才艺大赛协议书
- 《马克思主义基本原理概论》练习题库汇总
- 中考历史台湾问题专题复习
- 浅析建筑工程安全管理中存在的问题及解决方法
- 2016年全国科普日网络微信知识竞赛试题78(附答案)
- PVC管的规格和型号
- 徐悲鸿简介
- 临时排水方案
- 分布式光伏电站设计全过程及投资收益分析
- 小学数学教师进城考试试题
- 日语敬语总结(句型、动词、副词及名词)
- 卓越绩效之理论探讨(专家-陈权)