MOOC清华《程序设计基础》第4章:折半插入排序(测试代码版)
来源:互联网 发布:java pkcs10 公钥 编辑:程序博客网 时间:2024/06/05 19:29
测试代码1.0:
#include <iostream>using namespace std;int main(){int cards[17]={56,32,67,12,23,89,3,14,2,25,43,31,1,24,44,35,76};for(int i = 1; i < 17; i++){int target = cards[i];int low = 0, high = i - 1, id = -1;int counter = 0;while (low <= high){int middle = (low + high) / 2;if(cards[middle] >= target)high = middle - 1;elselow = middle + 1; cout << "low:" << low << '\t' << "high:" << high << endl; //测试代码 }id = high + 1;if(id != -1){for(int j = i; j > id; j--) cards[j] = cards[j - 1]; cards[id] = target; counter++;} cout << "id:" << id << '\t' << cards[id] << '\t' << "counter:" << counter << endl; //测试代码 }for(int i = 0; i < 17; i++)cout << cards[i] << '\t';return 0;}
测试代码2.0:
#include <iostream>using namespace std;int main(){int cards[17]={56,32,67,12,23,89,3,14,2,25,43,31,1,24,44,35,76};cout << "原始数据:" << endl;for(int i = 0; i < 17; i++)cout << cards[i] << '\t';cout << endl;for(int i = 1; i < 17; i++){int target = cards[i];int low = 0, high = i - 1, id = -1;while (low <= high){int middle = (low + high) / 2;if(cards[middle] >= target)high = middle - 1;elselow = middle + 1; }id = high + 1;if(id != -1){for(int j = i; j > id; j--) cards[j] = cards[j - 1]; cards[id] = target; } cout << "第" << i << "趟排序:" << endl;for(int i = 0; i < 17; i++)cout << cards[i] << '\t';cout << endl;}return 0;}
测试代码2.0结果图:
阅读全文
0 0
- MOOC清华《程序设计基础》第4章:折半插入排序(测试代码版)
- MOOC清华《程序设计基础》第4章:折半插入排序(函数写法)
- MOOC清华《程序设计基础》第4章:整理扑克牌(插入排序精简版)
- MOOC清华《程序设计基础》第4章第2题:最高分与最低分(用复合型折半插入排序法做)
- MOOC清华《程序设计基础》第4章:整理扑克牌(插入排序)
- MOOC清华《程序设计基础》第4章:插入排序(函数写法)
- MOOC清华《程序设计基础》第4章:查找扑克牌(折半查找)
- MOOC清华《程序设计基础》第4章:整理扑克牌(选择排序)
- MOOC清华《程序设计基础》第4章:选择排序(函数写法)
- MOOC清华《程序设计基础》第5章:归并排序
- MOOC清华《程序设计基础》第5章第4题:用递归算法实现选择排序
- MOOC清华《程序设计基础》第4章第1题:筛法求ab间的素数测试版
- MOOC清华《程序设计基础》第5章:快速排序(分配动态空间)
- MOOC清华《程序设计基础》第5章:快速排序(不分配动态空间-算法一)
- MOOC清华《程序设计基础》第5章:快速排序(不分配动态空间-算法二)
- MOOC清华《程序设计基础》第5章:快速排序(不分配动态空间-算法三)
- MOOC清华《程序设计基础》第4章:筛法求素数
- MOOC清华《程序设计基础》第4章:筛法数人数
- 插入排序
- 多线程基础
- 从PC端(Ubuntu)挂载nfs网络文件系统ARM9+Linux板子上
- 数据结构面试整理(3)
- 一次完整的HTTP事务是怎样一个过程?
- MOOC清华《程序设计基础》第4章:折半插入排序(测试代码版)
- 【C++】动态内存管理
- PHP 之"简单"试题
- Golang学习之GOROOT、PATH、GOPATH及go get
- Python练习11----list赋值给变量
- JAVA中的native方法
- 简述Java中的面向对象
- scala(6)-----运算符
- Spark在Windows下的环境搭建