交换法 C
来源:互联网 发布:淘宝客服每天工作流程 编辑:程序博客网 时间:2024/06/08 08:52
交换法
交换法:交换法的程序最清晰简单,每次用当前的元素一一的同其后的元素比较并交换。
#include <iostream.h>
void ExchangeSort(int* pData,int Count)
{
int iTemp;
for(int i=0;i<Count-1;i++)
{
for(int j=i+1;j<Count;j++)
{
if(pData[j]<pData[i])
{
iTemp = pData[i];
pData[i] = pData[j];
pData[j] = iTemp;
}
}
}
}
void main()
{
int data[] = {10,9,8,7,6,5,4};
ExchangeSort(data,7);
for (int i=0;i<7;i++)
cout<<data[i]<<" ";
cout<<"/n";
}
倒序(最糟情况)
第一轮:10,9,8,7->9,10,8,7->8,10,9,7->7,10,9,8(交换3次)
第二轮:7,10,9,8->7,9,10,8->7,8,10,9(交换2次)
第一轮:7,8,10,9->7,8,9,10(交换1次)
循环次数:6次
交换次数:6次
其他:
第一轮:8,10,7,9->8,10,7,9->7,10,8,9->7,10,8,9(交换1次)
第二轮:7,10,8,9->7,8,10,9->7,8,10,9(交换1次)
第一轮:7,8,10,9->7,8,9,10(交换1次)
循环次数:6次
交换次数:3次
从运行的表格来看,交换几乎和冒泡一样糟。事实确实如此。循环次数和冒泡一样
也是1/2*(n-1)*n,所以算法的复杂度仍然是O(n*n)。由于我们无法给出所有的情况,所以
只能直接告诉大家他们在交换上面也是一样的糟糕(在某些情况下稍好,在某些情况下稍差)。
- 交换法 C
- C 交换函数
- C数据交换
- C字符串交换
- 【C】 关于交换
- C语言-交换
- c/c++变量交换
- C 数据交换
- C语言变量交换
- c 变量交换函数
- 方法交换!!! o-c
- C交换数组
- C / C++算法学习笔记(4)-交换法
- 交换排序 --C语言数据结构
- 算法 - 交换排序(C++)
- C语言-交换两个数
- c语言两个数交换
- JSON -- c语言,数据交换
- 真正中文攻略之 Scarlett~スカーレット(攻略、存档)
- 智慧型算法系列
- 老板希望员工知道的
- 快速排序C
- 选择法C
- 交换法 C
- Eric S. Raymond 五部曲 之 《如何成为一名Hacker》
- SHELL排序,希尔排序
- 合并排序(非递归算法)
- 堆排序
- 解读:杀毒软件进入“云安全”时代
- 使用picasa3管理照片
- 控制mysql字增长字段
- 直接插入排序