数据结构课程设计(3)

2019-06-02 17:23

四、程序编码:

主函数main

#include #include #include #include \#include \#include \#include \#include \#include \#include \void main() {

int n;

printf(\数据结构基本内容\\n\\n\\n\ printf(\单链表基本操作\\n\\n\ printf(\二叉树基本操作\\n\\n\ printf(\表达式求值\\n\\n\

printf(\二叉排序树基本操作\\n\\n\ printf(\最小生成树\\n\\n\ printf(\拓扑排序\\n\\n\ printf(\图\\n\\n\

printf(\退出程序。\\n\\n\\n\\n\ do {

printf(\请选择所要操作的项目:\ scanf(\ getchar(); switch(n) {

case 1:

linemenu(); break; case 2:

bitreemenu(); break; case 3:

expressionmenu(); break; case 4: BSTmenu();

9

break; case 5:

mintreemenu(); break; case 6:

TopSortmenu(); break; case 7:

graphmenu(); break; case 0:

exit(0); default :

printf(\输入错误!\\n\\n\ }

}while(1); }

单链表头文件: #ifndef _line_h #define _line_h #define NULL 0

typedef struct LNode{ int data;

struct LNode *next; }LNode,*LinkList;

void creat(LinkList &L); void Insert(LinkList &L); void Delete(LinkList &L); void Print(LinkList L); void Inite(LinkList &L); void linemenu(); #endif

单链表源文件

#include #include #include #include \

void Inite(LinkList &L)//初始化链表 {

L=NULL; }

void creat(LinkList &L)//创建链表 {

10

int n,i;

L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; if(!L) {

printf(\存储分配失败\ exit(0); }

printf(\请输入链表长度:\ scanf(\ LinkList p=L,q; for(i=0;i

printf(\请输入第%d个数据: \

q=(LinkList)malloc(sizeof(LNode)); scanf(\ p->next=q; p=q; }

p->next=NULL; }

void Insert(LinkList &L)//插入 {

int z,i=0;

LinkList p=L,s;

printf(\请输入您要插入的位置:\ scanf(\ while(p&&i

p=p->next; i++;

}

if(!p) {

printf(\插入位置不对!\\n\ exit(0); }

s=(LinkList)malloc(sizeof(LNode)); printf(\插入的元素为:\ scanf(\ s->next=p->next; p->next=s;

11

}

void Delete(LinkList &L)//删除 {

int z,i=0;

LinkList p=L,q;

printf(\请输入删除元素的位置:\ scanf(\

while(p->next&&i

p=p->next; i++; }

if(!p->next) {

printf(\删除位置不对!\\n\ exit(0); }

q=p->next;

printf(\删除的元素为:%d\\n\ p->next=q->next; free(q); }

void Print(LinkList L)//遍历 {

LinkList p=L; if(!L) {

printf(\链表为空\\n\ exit(0); }

printf(\当前链表全部元素为:\ while(p->next) {

p=p->next;

printf(\ }

printf(\}

单链表的菜单

#include #include #include \void linemenu() {

12

LinkList L; Inite(L); int i; while(1) {

printf(\ printf(\你输入的是1功能: 单链表操作\\n\ printf(\ printf(\创建链表请按 1 ************\\n\ printf(\遍历链表请按 2 ************\\n\ printf(\插入元素请按 3 ************\\n\ printf(\删除元素请按 4 ************\\n\ printf(\返回主菜单请按 0 ************\\n\ printf(\请输入您的选择(1,2,3,4,0):\ scanf(\ if(i==0) {

printf(\数据结构基本内容\\n\\n\\n\ printf(\单链表基本操作\\n\\n\ printf(\二叉树基本操作\\n\\n\ printf(\表达式求值\\n\\n\

printf(\二叉排序树基本操作\\n\\n\ printf(\最小生成树\\n\\n\ printf(\拓扑排序\\n\\n\ printf(\图\\n\\n\

printf(\退出程序。\\n\\n\\n\\n\ break; }

else if(i==1)creat(L); else if(i==3)Insert(L); else if(i==2)Print(L); else if(i==4)Delete(L); else {

printf(\输入选择错误!请重新输入\\n \ } } }

表达式求值的头文件 #ifndef _STACK_H #define _STACK_H #define N 100

typedef struct Stack

13


数据结构课程设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑垃圾消纳场基本管理制度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: