第二章 插入排序 C++实现
来源:互联网 发布:常用的网络传输介质 编辑:程序博客网 时间:2024/06/05 07:39
<pre name="code" class="cpp">#include <iostream>#include <vector>#include <algorithm>struct myclass{bool operator()(int i,int j) {return (i > j);}}myobject;using namespace std;int main(void){vector<int> ivec;int num;int element;cin >> num;for(int i = 0;i < num;i++){cin >> element;ivec.push_back(element); //注意:::这两行必须有push_back来进行赋值 因为[]下标操作只能访问已经存在的元素进行下标操作。。。。}cout << "the original data is" << endl;for(int i = 0;i < num;i++){cout << ivec.at(i);cout << ((i + 1) % num ? ' ': '\n');}for(int i = 1;i < num;i++){int j = i - 1;int tmp = ivec[i];for(;j >=0;j--){if(tmp > ivec[j])ivec[j+1] = ivec[j];elsebreak;}ivec[j + 1] = tmp;}cout << "the sorted data is" << endl;for(int i = 0;i < num;i++){cout << ivec.at(i);cout << ((i + 1) % num ? ' ': '\n');}sort(ivec.begin(),ivec.end()); //默认为 < cout << "the STL algorithm sorted data is" << endl;for(int i = 0;i < num;i++){cout << ivec.at(i);cout << ((i + 1) % num ? ' ': '\n');}sort(ivec.begin(),ivec.end(),myobject); //自己定义一个函数对象 改为 >cout << "the STL algorithm sorted > data is" << endl;for(int i = 0;i < num;i++){cout << ivec.at(i);cout << ((i + 1) % num ? ' ': '\n');}return 0;}
0 0
- 第二章 插入排序 C++实现
- 第二章(插入排序的实现)
- 第二章 插入排序
- 插入排序C实现
- C实现插入排序
- 插入排序 C实现
- 【算法导论】【第二章】VC++实现插入排序
- 第二章之“插入排序”
- 第二章 2.1插入排序
- 插入排序C语言实现
- C/C++实现插入排序
- 插入排序的c实现
- 插入排序c语言实现
- 插入排序C语言实现
- 插入排序C语言实现
- 插入排序(C语言实现)
- 插入排序(C实现)
- 插入排序C语言实现
- ssssssssssssss
- HTTP与HTTPS最重要的差别
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/l
- Win7安装git
- Linux rpm 命令参数使用详解[介绍和应用]
- 第二章 插入排序 C++实现
- Redhat/CentOS 软件安装之RPM和YUM
- 实用代码片段(包括jquery,php)
- 用Java事件处理机制实现录制回放功能
- hdu 1872 稳定排序
- LA4108 skyline 题解
- OJ之输出时间类——友元函数
- Linux 主机名命令
- 高端大气上档次的管理后台模板