文档详情

数据结构_互联网_IT计算机_专业资料.doc

发布:2017-10-06约3.25千字共11页下载文档
文本预览下载声明
实验报告 130405324 实验室号: 信息220 实验组号: 24 实验时间: 2015.6.12 批阅时间: 指导教师: 王宏生 成 绩: 沈阳工业大学实验报告 (适用计算机程序设计类) 专业班级: 计算机1303班 学号: 130405324 姓名: 宁相如 实验名称:排序 1.实验目的 (1) (2) (1) (2)实现希尔排序算法。 (3) (4) (5) (1) /*参加排序元素的最大个数*/ typedef struct list{ int key; }RedType; typedef struct{ RedType r[MAXSIZE+1]; int length; /*参加排序元素的实际个数*/ }SqList; (2))130405324 姓名: 宁相如 实验程序: #include iostream.h #include stdio.h class SortTable { private: int *sort; //待排序表 int length; //待排序元素个数 public: SortTable(int l); ~SortTable(){delete []sort;}; void createST(); //建立待排序表 void stOut(); //快速排序算法输出排序后的表 void insertsort(); //直接插入排序 void selesort(); //简单选择排序 void bublesort(); //冒泡排序 int partition(int *low,int *high); //一趟快速排序,返回i,产生了两个独立的待排子序列,供函数quicksort调用 void quicksort(int start,int end); //快速排序 }; SortTable::SortTable(int l) { int i; length=l; sort=new int[length]; for (i=0;ilength;i++) //待排序表清0 sort[i]=0; } void SortTable::createST() { int j,k=0; cout请输入待排序元素(整数),用空格分开:endl; while(klength) //输入待排序元素值 { cinj; sort[k]=j; k++; } } void SortTable::stOut() { int i; cout快速排序算法是:endl; for(i=0;ilength;i++) coutsort[i] ; coutendl; } void SortTable::insertsort() { int i,j,k; for(i=1;ilength;i++) { k=sort[i]; j=i-1; while(ksort[j]) { sort[j+1]=sort[j]; j--; } sort[j+1]=k; } cout直接插入排序算法结果是:endl; for(i=0;ilength;i++) coutsort[i] ; coutendl; } void SortTable::selesort() { int i,j,k; int temp; for(i=0;ilength;i++) { k=i; for(j=i+1;jlength;j++) if(sort[j]sort[k]) k=j; if(k!=i) { temp=sort[i]; sort[i]=sort[k]; sort[k]=temp; } } cout简单选择排序算法结果是:endl; for(i=0;ilength;i++) coutsort[i] ; coutendl; } void SortTable::bublesort() { int i,j; int temp; for(i=0;ilength-1;i++) for(j=length-2;j=i;j--) if(sort[j+1]sort[j]) { temp=s
显示全部
相似文档