太原理工数据结构实验报告 实验五 排序

上传人:飞*** 文档编号:3500034 上传时间:2017-08-06 格式:DOC 页数:7 大小:120KB
返回 下载 相关 举报
太原理工数据结构实验报告 实验五 排序_第1页
第1页 / 共7页
太原理工数据结构实验报告 实验五 排序_第2页
第2页 / 共7页
太原理工数据结构实验报告 实验五 排序_第3页
第3页 / 共7页
太原理工数据结构实验报告 实验五 排序_第4页
第4页 / 共7页
太原理工数据结构实验报告 实验五 排序_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《太原理工数据结构实验报告 实验五 排序》由会员分享,可在线阅读,更多相关《太原理工数据结构实验报告 实验五 排序(7页珍藏版)》请在金锄头文库上搜索。

1、实验报告课程名称: 数据结构 B 实验项目: 排序 实验地点: 实验楼 110 专业班级:计科 1301 班 学号: 2013001989 学生姓名: 杨喆 指导教师: 孟亮 2015 年 1 月 1 日一、实验目的和要求通过本次实验,掌握查找表上的有关查找方法,并分析时间复杂度。二、实验内容和原理1 编写程序实现下面运算:在二叉排序树中查找关键字为 key 的记录。2 试将折半查找的算法改写成递归算法。三、主要仪器设备1.设备: PC 微机 ;2.实验环境: windows 操作系统;VC+6.0,四、实验结果与分析(必填)(1)程序代码:实验 5_1:#include #include #

2、include malloc.h#include stdio.h#define ERROR 0#define TRUE 1 #define FLASE 0 #define OK 1 #define INFEASIBLE -1 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10typedef int ElemType; typedef int Status;typedef struct LnodeElemType data; struct Lnode *next;Lnode, *LinkList;Stat

3、us ListInsert_L(LinkList &L, int i, ElemType e) LinkList s,p; int j; p = L; j = 0;while(p & jnext;+j;if(!p | ji-1) /如果链表为空或者 i 的值小于 0 返回一个错误值return ERROR;s = (Lnode *)malloc(sizeof(Lnode);if(!s) return OVERFLOW;s-data = e; s-next = p-next; p-next = s; return OK;Status ListDelete_L(LinkList &L, int i

4、, ElemType e) LinkList s,p; int j; p = L; j = 0;while(p-next & jnext;+j;if(!(p-next)|ji-1) return ERROR;s = p-next; p-next = s-next; e = s-data; free(s);return OK;Status InitList_L(LinkList &L) L = (Lnode *)malloc(sizeof(Lnode);if (L) L-next = NULL; return OK; else return ERROR;Status Delete(LinkLis

5、t &L, LinkList &p)LinkList l=L,pro;while(l-data != p-data)pro=l;l=l-next;pro-next = l-next;printf(Delet%d,(L-next)-data); return OK;Status InsertSort(LinkList &L)LinkList p,q,head;head=L;int t;for(p=head-next;p-next;p=p-next)for(q=p-next;q;q=q-next)if(p-dataq-data)t=p-data;p-data=q-data;q-data=t;ret

6、urn OK;void CreateList_L(LinkList& L, int n) / 逆序输入 n 个数据元素,建立带头结点的单链表LinkList p; L = (LinkList)malloc(sizeof(Lnode);L-next = NULL; / 先建立一个带头结点的单链for (int i=n; i0; -i)p = (LinkList)malloc(sizeof(Lnode); scanf(%d,&p-data); / 输入元素值 p-next = L-next; L-next=p; / 插入元素 / CreateList_Lint main()LinkList Lst

7、,p; int i, n; ElemType e;printf(请输入你要插入的元素 e 个数);scanf(%d,&n);CreateList_L(Lst, n);p = Lst-next; i=1;while(p) printf(i,e=%d,%dn,i+,p-data);p = p-next; printf(直接选择排序n);InsertSort(Lst);p = Lst-next; i=1;while(p) printf(i,e=%d,%dn,i+,p-data);p = p-next; 实验 5_2:#include stdio.h #includeconio.h void main() int i,k=0,n,t,a100; printf(请输入关键字个数); scanf(%d,&n); printf(请输入关键字); for(i=0;i=0) t=ak;ak=ai;ai=t;k+; printf(排序后);for (i=0;in;i+) printf(%-3d,ai); getch(); printf(n);(2)运行结果实验 5_1:实验 5_2: 四、实验感想学习掌握了对不同储存结构排序的多种方法;对于存储的数据排序后,可以简便后续的再次调运。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号