资源简介
数据结构与算法(C++)内排序算法与比较 有完整的实验报告 解压后在VC6.0中打开.dsw文件就可以运行
代码片段和文件信息
#include
#include
#include//常用函数
#include
#include
#include//格式化输出
int compare[6]change[6]move[6]; //compare数组是比较次数,change数组是交换次数,move数组是移动次数
class SortableSList
{
public:
SortableSList();
void Reload(); //初始数据函数
void Save_File(); //保存信息
void InsertSort(); //直接插入排序
void SelectSort(); //简单选择排序
void BubbleSort(); //冒泡排序
void QuickSort(); //快速排序
void ShellSort(); //希尔排序
void MergeSort(); //两路合并排序
void QuickSort(int leftint right);
private:
int Partition(int leftint right);
void InsSort(int h);
void Merge(int leftint midint right);
int *l;
int n;
int *randarray;
};
SortableSList::SortableSList()
{
cout<<“ | 请你输入要排序的数字个数 n : “;
cin>>n;//输入要生成随机数的个数
cout<<“ | |“< cout<<“ |----------------------------------------------------------------------------|“< cout<<“ | |“< cout<<“ | 请稍等...... |“< l=new int[n];
randarray=new int[n];
for(int i=0;i l[i]=randarray[i]=rand()%10000;
}
void SortableSList::Reload() //初始数据函数
{
int i;
for(i=0;i l[i]=randarray[i];
}
void SortableSList::Save_File() //保存信息
{
int i;
ofstream ofile(“排序.txt“);//文件输出流
for(i=1;i<=n;i++)
ofile< ofile.close();
ifstream infile(“排序.txt“);//输入文件对操作
for(i=1;i<=n;i++)
infile>>l[i];
infile.close();
}
//~~~~~~~~~~~~~~~直接插入排序~~~~~~~~~~~~~~~~~~~
void SortableSList::InsertSort()
{
for(int i=1;i int x=l[i];
move[0]++;
for(int j=i-1;j>=0&&x {
compare[0]++;
l[j+1]=l[j]change[0]++;
move[0]++;
}
compare[0]++;
l[j+1]=x;
}
}
//~~~~~~~~~~~~~~~简单选择排序~~~~~~~~~~~~~~~~~~~~~
void Swap(int&aint&b)
{
int e=a;a=b;b=e;
}
void SortableSList::SelectSort()
{
int s;
for(int i=0;i {
s=i;
compare[1]++;
for(int j=i+1;j if(l[j] Swap(l[i]l[s])move[1]=move[1]+3change[1]++;
}
}
//~~~~~~~~~~~~~~~快速排序~~~~~~~~~~~~~~~~~~~~~~~~~
int SortableSList::Partition(int leftint right)
{
int i=leftj=right+1;
do{
do
{i++; compare[3]++;}while(l[i] do
{j--; compare[3]++;}while(l[j]>l[left]);
if(i }while(i Swap(l[left]l[j])move[3]=move[3]+3change[3]++;
return j;
}
void SortableSList::QuickSort(int leftint right)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 862590 2000-06-11 21:56 内排序算法比较\1.bmp
文件 866054 2000-06-11 21:58 内排序算法比较\2.bmp
文件 819126 2000-06-11 22:00 内排序算法比较\3.bmp
文件 151552 2000-06-11 21:56 内排序算法比较\Debug\vc60.pdb
文件 213072 2000-06-11 21:56 内排序算法比较\Debug\内排序算法比较.exe
文件 48924 2000-06-11 21:56 内排序算法比较\Debug\内排序算法比较.obj
文件 599040 2000-06-11 21:56 内排序算法比较\Debug\内排序算法比较.pdb
文件 11175 2008-06-18 13:02 内排序算法比较\内排序算法比较.cpp
文件 3499 2008-06-04 17:54 内排序算法比较\内排序算法比较.dsp
文件 536 2008-06-04 19:01 内排序算法比较\内排序算法比较.dsw
文件 41984 2000-06-11 22:05 内排序算法比较\内排序算法比较.ncb
文件 53760 2000-06-11 22:05 内排序算法比较\内排序算法比较.opt
文件 1204 2000-06-11 21:56 内排序算法比较\内排序算法比较.plg
文件 9750 2000-06-11 21:59 内排序算法比较\排序.txt
文件 189952 2000-06-11 22:07 06118333曾晓云(C++).doc
目录 0 2008-07-02 16:52 内排序算法比较\Debug
目录 0 2008-07-02 16:52 内排序算法比较
----------- --------- ---------- ----- ----
3872218 17
- 上一篇:C++编程思想两卷合订本-高清完美带书签版.pdf
- 下一篇:先序后继线索二叉树
相关资源
- C++编程思想两卷合订本-高清完美带书
- 发送win10消息通知的
- C++ 生成JPEG图片源代码
- MFC对话框标题栏的隐藏和高度设置
- 高校人事管理系统课程设计C++版
- VC++6.0无法打开工程解决办法
- Visual C++项目开发案例全程实录第2版光
- C++实现的仓库管理系统
- 博览网 4视频 侯捷老师的C++内存管理
- C++算法大全及面试题详解
- C++面试题大全300题
- c++编写高校学籍管理系统+详细注释
- 操作系统内存分配C++实现
- VC++6.0实现读取硬盘唯一序列号源码和
- mfc安装全局钩子,显示窗口的标题
- 操作系统 读者写者问题c++
- C++实现快速排序
- 第四题代码.txt吉林大学 C++ 上机实验
- C++实验报告.doc
- 命令模式(C++实现)
- C++ 编写解析Torrent文件的类
- VS2013+RPG小游戏
- MOEA/D的C++代码
- c++电力系统潮流程序
- OCI连接oracle数据库c++实现
- 用c++做的一个桌面捕抓游戏
- OpenGl文字显示c++类
- DH密钥交换,C++代码
- 基于VS2010的C++小学生四则算数测试系
- 图书信息管理系统 c++
评论
共有 条评论