选择排序算法分析
来源:互联网 发布:虚拟商品源码 编辑:程序博客网 时间:2024/04/29 20:05
#include <stdio.h>#include <stdlib.h>void select_sort(int* arr, int nLen){ int i=0, j=0, k=0; int nVal = 0; for (i=0; i < nLen; i++) { for (j=0; j < i; j++) { if (arr[i] < arr[j]) { nVal = arr[i]; for (k=i; k>=j; k--) { arr[k] = arr[k-1]; } arr[j] = nVal; } } }}int main(){ int arrTest[] = {4,9,3,1,5,8,6,7,2,0}; int i = 0; for (i=0; i < 10; i++) { printf("%d ", arrTest[i]); } printf("\n\n"); select_sort(arrTest, 10); for (i=0; i < 10; i++) { printf("%d ", arrTest[i]); } printf("\n\n"); scanf("%d", &i); return 0;}
算法分析:
选择排序是不稳定算法,最好的情况是最好情况是已经排好顺序,只要比较 (n*(n-1))/2次即可,
最坏情况是逆序排好的,那么还要移动 O(n)次,由于是低阶故而不考虑 。选择排序的时间复杂度是 O(n^2)
- 选择排序算法分析
- 算法分析-选择排序(直接选择排序 & 堆排序)
- 选择排序算法(思想原理、设计、分析)
- 算法分析之冒泡,快速,选择排序
- 排序算法—选择排序算法分析与实现(Python)
- LUA 排序算法和性能分析[3]:选择排序算法
- 算法设计与分析基础-3.1、选择排序、冒泡排序
- 算法--数组冒泡排序和选择排序原理分析
- 算法分析设计与分析-蛮力法(1)--选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法--选择排序
- 排序算法---选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法---选择排序
- 排序算法--选择排序
- Google AppEngine上部署PHP应用
- 活着,意义,偶像
- Java连接SQL 2005数据库!...
- hrtimers_init()
- oracle 视图的定义修改查询
- 选择排序算法分析
- Ubuntu上LAMP环境搭建
- xm list虚拟机无状态
- CListCtrl 设置行高
- Xen虚拟机迁移技术
- 《PHP与MySQL程序设计》第三章 PHP基础
- smarty自定义函数
- c/c++强制类型转换
- FC9的硬盘安装及遇到的问题和解决方案