最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数据结构实验报告-实验5-排序

来源:动视网 责编:小OO 时间:2025-10-02 00:56:57
文档

数据结构实验报告-实验5-排序

数据结构实验报告实验名称:排序学号:姓名:实验日期:2016.07.01一、实验目的至少掌握一种排序算法二、实验内容随机生成10个从1-100之间的随机数,编程实现至少一种排序算法,对该数据进行排序。要求1、要排序的数据随机生成2、先升序排序一次,再用同样的算法降序排序一次(2)分析(3)实验代码#include#include#includetypedefstruct{intkey;}keytype;typedefstruct{keytyper[1000];intlength;}sqlist
推荐度:
导读数据结构实验报告实验名称:排序学号:姓名:实验日期:2016.07.01一、实验目的至少掌握一种排序算法二、实验内容随机生成10个从1-100之间的随机数,编程实现至少一种排序算法,对该数据进行排序。要求1、要排序的数据随机生成2、先升序排序一次,再用同样的算法降序排序一次(2)分析(3)实验代码#include#include#includetypedefstruct{intkey;}keytype;typedefstruct{keytyper[1000];intlength;}sqlist
数据结构实验报告

实验名称:排序

学号:

姓名: 

实验日期:2016.07.01

一、实验目的

至少掌握一种排序算法

二、实验内容

随机生成10个从1-100之间的随机数,编程实现至少一种排序算法,对该数据进行排序。

要求

1、要排序的数据随机生成

2、先升序排序一次,再用同样的算法降序排序一次

(2)分析

(3)实验代码

#include

#include

#include

typedef struct

{

  int key;

}keytype;

typedef struct

{  keytype r[1000];

   int length;

}sqlist;

/*产生随机数*/

void creat(sqlist *l)

{   

 int i;

 printf("请输入要产生的随机数个数:");

scanf("%d",&l->length);

 srand((unsigned)time(NULL));  

for(i=1;i<=l->length;i++)

 {

l->r[i].key = rand() %900+100;

printf("%d ",l->r[i].key);

    }

    printf("\\n");

}

/*交换顺序表中子表r[low...high]的记录,使枢轴记录到位,并返回其所在的位置*/

int partion(sqlist *l,int low,int high)

{   int pivotkey;

l->r[0]=l->r[low];

pivotkey=l->r[low].key;

while(low{ while(lowr[high].key>=pivotkey) --high;

l->r[low]=l->r[high];

while(lowr[low].key<=pivotkey) ++low;

l->r[high]=l->r[low];

    }

l->r[low]=l->r[0];

    return low;                

}

/*快速排序*/

void Qsort(sqlist *l,int low,int high)

{ int pivotloc;

if(low   {  pivotloc=partion(l,low,high);    

      Qsort(l,low,pivotloc-1);          

      Qsort(l,pivotloc+1,high);         

   }

}

/*显示顺序表*/

void display(sqlist *l)

{  int i;

for(i=1;i<=l->length;i++)

     printf("%-4.2d",i);

   printf("\\n");

for(i=1;i<=2*l->length;i++)

     printf("--");

   printf("\\n"); 

for(i=1;i<=l->length;i++)

printf("%-4.2d",l->r[i].key);

}

/*主函数*/

void main()

{  

   sqlist t;  

   creat(&t);

   Qsort(&t,1,t.length);

   printf("\\n\\n");

   printf("快速排序:\\n");

   display(&t);

  

}

三、实验小结

文档

数据结构实验报告-实验5-排序

数据结构实验报告实验名称:排序学号:姓名:实验日期:2016.07.01一、实验目的至少掌握一种排序算法二、实验内容随机生成10个从1-100之间的随机数,编程实现至少一种排序算法,对该数据进行排序。要求1、要排序的数据随机生成2、先升序排序一次,再用同样的算法降序排序一次(2)分析(3)实验代码#include#include#includetypedefstruct{intkey;}keytype;typedefstruct{keytyper[1000];intlength;}sqlist
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top