折半插入排序c语言 csdn,排序算法实大.doc

排序算法实现大全

后面的例程,都是对数组的排序,使用静态链表的也适用于链表的排序。为简单起见,只对单关键码排序,并且最后的结果都是从头到尾按升序排列。下面是统一的测试程序:#include #include using namespace std;#include #include #include #include "InsertSort.h"#define random(num) (rand() % (num))#define randomize() srand((unsigned)time(NULL))#define N 10000 //排序元素的数目#define SORT InsertSort //排序方法class timer//单位ms{public:void start() { start_t = clock(); }clock_t time() { return (clock() - start_t); }private:clock_t start_t;};int KCN, RMN; timer TIMER;void test(int a[]){TIMER.start();SORT(a, N, KCN, RMN);cout << "\tTimeSpared: " << TIMER.time() << "ms" << endl;cout << "KCN=" << left << setw(11) << KCN; cout << "KCN/N=" << left << setw(11)<< (double)KCN/N;cout << "KCN/N^2=" << left << setw(11)<< (double)KCN/N/N;cout << "KCN/NlogN=" << left << setw(11)<< (double)KCN/N/log((double)N)*log(2.0) << endl;cout << "RMN=" << left << setw(11) << RMN;cout << "RMN/N=" << left << setw(11)<< (double)RMN/N;cout << "RMN/N^2=" << left << setw(11)<< (double)RMN/N/N;cout << "RMN/NlogN=" << left << setw(11)<< (double)RMN/N/log((double)N)*log(2.0) << endl;}int main(){int i;//randomize();为了在相同情况下比较各个排序算法,不加这句int* ascending = new int[N];//升序序列int* descending = new int[N];//降序序列int* randomness = new int[N];//随机序列for (i = 0; i < N; i++) { ascending[i] = i; randomness[i] = i; descending[i] = N - i - 1;}for (i = 0; i < N; i++) swap(randomness[i], randomness[random(N)]);cout << "Sort ascending N=" << N; test(ascending);cout << "Sort randomness N=" << N; test(randomness);cout << "Sort descending N=" << N; test(descending);return 0;}

需要说明一点,KCN(关键码比较次数)、RMN(记录移动次数)并不是算法必须的,是为了对算法的性能有个直观的评价(不用那些公式算来算去)。对10000个整数排序应该是最省事的测试手段,建议不要再增多记录数目了,一是在最坏的情况不用等太久的时间,二是避免KCN、RMN溢出,另外有些递归的算法在情况比较糟的时候,记录数目太多堆栈可能会溢出,导致程序崩溃。插入排序

基本思想是,每步将一个待排序的记录,按其关键码大小,插入到前面已经排好序的记录的适当位置,从头做到尾就可以了。

直接插入排序

template void InsertSort(T a[], int N, int& KCN, int& RMN){KCN = 0; RMN = 0;for (int i = 1;

内容概要:该论文深入研究了液压挖掘机动臂下降势能回收技术,旨在解决传统液压挖掘机能耗高的问题。提出了一种新型闭式回路势能回收系统,利用模糊PI自整定控制算法控制永磁无刷直流电动机,现了变转速容积调速控制,消除了节流和溢流损失。通过建立数学模型和仿真模型,分析了不同负载下的系统性能,并开发了试验平台验证系统的高效性和节能效果。研究还涵盖了执行机构能量分布分析、系统元件参数匹配及电机控制性能优化,为液压挖掘机节能技术提供了理论和践依据。此外,通过验验证,该系统相比传统方案可降低28%的能耗,控制系统响应时间缩短40%,为工程机械的绿色化、智能化发展提供了关键技术支撑。 适合人群:从事工程机械设计、制造及维护的工程师和技术人员,以及对液压系统节能技术感兴趣的科研人员。 使用场景及目标:①理解液压挖掘机闭式回路动臂势能回收系统的原理和优势;②掌握模糊PI自整定控制算法的具体现;③学习如何通过理论建模、仿真和验验证来评估和优化液压系统的性能。 其他说明:此研究不仅提供了详细的理论分析和数学建模,还给出了具体的仿真代码和验数据,便于读者在际工作中进行参考和应用。研究结果表明,该系统不仅能显著提高能源利用效率,还能延长设备使用寿命,降低维护成本,具有重要的工程应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值