资源简介
数据结构课程设计 包括以下算法:直接插入排序,希尔排序,冒泡排序,快排,简单选择排序,堆排序。完整DOC文档,含源代码,还有执行结果,完整的实验报告
代码片段和文件信息
#include
#include
#include
#include
#include
#define MAX 10000
//long Max;
long dlta[10000];
int a[MAX+1];
int store[MAX+1];
long int com0=0mov0;
long int com1=0mov1=0;
long int com2=0mov2=0;
long int com3=0mov3=0;
long int com4=0mov4=0;
long int com5=0mov5=0;
double t0t1t2t3t4t5;
void randomizeNum(int n)
{//N表示要产生的随机数的数目
long i;
for(i=0;i {
a[i]=rand()%20000;
store[i]=a[i];
//printf(“%5d“store[i]);
}
printf(“\n“);
}
void restore(long n)//将随机产生的数据存储在数组中
{
long i;
for(i=0;i {
a[i]=store[i];
}
}
//起泡排序
void bubblesort(int r[]long n)
{
long ij;
long w;
//long int com0=0mov0=0;
for(i=0;i<=n-1;i++)
for(j=n-1;j>=i+1;j--)
{
if(r[j] {
w=r[j];
r[j]=r[j-1];
r[j-1]=w;
mov0=mov0+3;
}
com0++;
}
printf(“\n起泡排序 比较次数等于 %ld移动次数等于 %ld\n“com0mov0);
}
//直接插入排序
void insertsort(int r[]long n)
{
long ij;
int watch;
//long int com1=0mov1=0;
for(i=1;i {
com1++;
if(r[i] {
watch=r[i];
r[i]=r[i-1];
mov1++;
for (j=i-2;watch {
r[j+1]=r[j];
com1++;
}
r[j+1]=watch;
mov1++;
}
}
printf(“\ninsertsort compare= %ldmove= %ld\n“com1mov1);
}
//简单选择排序
void selectsort(int r[]long n)
{
int ijktemp;
for(i=0;i {
k=i;
for (j=i+1;j {
com2++;
if(r[j] k=j;
}
temp=r[i];
r[i]=r[k];
r[k]=temp;
mov2=mov2+3;
}
printf(“\nSelectSort compare= %ldmove= %ld\n“com2mov2);
}
//快速排序
int Partition(int R[]int n int lowint high)
{
int pivotkey;
pivotkey=R[low];
mov4++;
while(low {
while( (low=pivotkey))
{
--high;
com4++;
}
R[low]=R[high];
mov4++;
while( (low {
++low;
com4++;
}
R[high]=R[low];
mov4++;
}
R[low]=pivotkey;
mov4++;
return low;
}
void QSort(int R[]int n int lowint high)
{
int pivotloc;
if (low {
pivotloc=Partition(Rnlowhigh);
QSort(Rnlow pivotloc-1);
QSort(Rn pivotloc+1high);
}
}
void QuickSort(int R[]int n)
{
QSort(Rn0n-1);
printf(“\nQuickSort compare=%ldmove=%ld\n“com1mov1);
}
//堆排序
void Sift(int R[] int s int m)
{//筛选算法
int tempj;
temp=R[s];mov5++;
for(j=2*s;j<=m;j*=2)
{
if ((j {
j++;
com5++;
}
com5++;
if (temp>=R[j]) break;
R[s]=R[j];
mov5++;
s=j;
}
R[s]=temp;
mov5++;
}
void HeapSort(int R[]long n)
{
int itemp;
for (i=n/2;i>=0;i--)//初始建堆
Sift(Rin);
for (i=n-1;i>=0;i--)
{
temp=R[0];
R[0]=R[i];
R[i]=temp;
mov4=mov5+3;
Sift(R0i-1);
}
printf(“\nHeapSort compare=%ldmo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 15306 2009-05-03 20:37 内部排序\1.png
文件 16714 2009-05-03 20:39 内部排序\2.png
文件 3345 2009-05-03 20:41 内部排序\3.png
文件 11573 2009-05-03 20:43 内部排序\4.png
文件 6222 2009-05-03 20:44 内部排序\5.png
文件 41984 2009-05-03 20:34 内部排序\Debug\vc60.idb
文件 53248 2009-05-03 20:34 内部排序\Debug\vc60.pdb
文件 249910 2009-05-03 20:34 内部排序\Debug\排序.exe
文件 332836 2009-05-03 20:34 内部排序\Debug\排序.ilk
文件 36600 2009-05-03 20:34 内部排序\Debug\排序.obj
文件 615424 2009-05-03 20:34 内部排序\Debug\排序.pdb
文件 321024 2010-03-10 19:26 内部排序\作业1.doc
文件 10054 2009-05-03 20:34 内部排序\排序.cpp
文件 3379 2009-05-03 20:21 内部排序\排序.dsp
文件 516 2009-05-03 20:40 内部排序\排序.dsw
文件 41984 2009-05-03 20:40 内部排序\排序.ncb
文件 48640 2009-05-03 20:40 内部排序\排序.opt
文件 1112 2009-05-03 20:34 内部排序\排序.plg
文件 260428 2009-04-30 19:32 内部排序\排序算法比较.rar
文件 26515 2009-05-03 12:50 内部排序\流程图.jpg
目录 0 2010-03-10 19:21 内部排序\Debug
目录 0 2010-03-11 11:45 内部排序
----------- --------- ---------- ----- ----
2096814 22
- 上一篇:QT后台监控鼠标侧键
- 下一篇:基于DirectShow的网络视频传输实现
相关资源
- 排序算法过程演示程序源码
- 数字逻辑课程设计 交通信号控制器的
- 数据结构课程设计-图的存储与遍历
- 华科计算机组成原理课程设计--扩展指
- 9散列表源程序+文档+说明+总结
- 7文本编辑数据结构课程设计 源程序
- 1运动会分数统计问题源程序+文档+说
- 数字电路课程设计四位串行乘法器
- 合肥工业大学编译原理课程设计报告
- 课程设计报告某自来水公司收费管理
- DIV+CSS学生网页课程设计大作业网页制
- 数据结构课程设计之车厢调度
- 数据结构课程设计贪吃蛇
- 合肥工业大学FPGA课程设计-出租车自动
- 中国石油大学北京 远程教育学院
- 数据结构与算法课程设计五子棋
- 1---17030140015+党奇伟+西电计算机操作系
- 数字时钟课程设计报告
- 电子课程设计多功能函数信号发生器
- 安徽工程大学 计算机网络课设sniffe
- 东南大学微机实验课程设计乒乓球
- LabVIEW课程设计-失物招领系统.zip
- 广工高级数据库课程设计
- 广工代码之美课程设计
- 自动控制原理课程设计
- 七种排序算法动态演示软件
- 仪表检测课程设计
- EDA课程设计-电子密码锁.zip
- 兰州大学 接口与通讯 微机实验代码及
- 北京大学 数字电路课程设计报告之
评论
共有 条评论