当前位置: 首页 > wzjs >正文

安阳网站建设安阳制作网页软件免费

安阳网站建设安阳,制作网页软件免费,dw8网页设计教程,wordpress插件有api吗介绍 选择排序是一种简单直观的排序算法,其基本思想是:从待排序的数据元素中,每次选择最小(或最大)的元素,将其与序列的起始位置交换,然后继续对剩余的元素进行排序,知道整个序列排…

介绍

选择排序是一种简单直观的排序算法,其基本思想是:从待排序的数据元素中,每次选择最小(或最大)的元素,将其与序列的起始位置交换,然后继续对剩余的元素进行排序,知道整个序列排序完成。

算法步骤

1、从待排序的序列中选择一个最小的元素,将其与序列第一个位置交换。

2、在剩余未排序的元素中继续选择最小的元素,放到已排序序列的末尾。

3、重复上述步骤,知道所有元素排序完成

优缺点

优点:

  • 简单易懂:选择排序算法简单直观,易于实现和理解
  • 适用于小规模数据集:在小规模数据集上表现良好
  • 部分有序数据集优化:在部分有序的数据集上可以进行优化
  • 内存要求低:适用于对内存要求严格的场景
  • 不敏感的数据集顺序:适用于对数据集的顺序不敏感的情况

缺点:

  • 效率低:时间复杂度为O(N^2),不适合大规模数据集
  • 多次交换:需要进行多次交换操作
  • 不稳定性:选择排序是不稳定的排序方法。相同的元素在排序后的相对位置可能会改

代码

#include <stdio.h>void Swap(int* p1, int* p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}void Print(int* a, int n)
{for (int i = 0; i < n; i++){printf("%d ", a[i]);}printf("\n");
}void SelectSort(int* a, int n)
{int begin = 0;while (begin < n - 1){int min = begin;for (int i = begin + 1; i < n; i++){if (a[i] < a[min]){min = i;}}Swap(&a[begin], &a[min]);begin++;}
}int main()
{int a[] = { 9,1,2,5,7,4,6,3 };int sz = sizeof(a) / sizeof(int);SelectSort(a, sz);Print(a, sz);return 0;
}

优化

每次循环只取一个最小值效率太慢,可以同时去最小值和最大值。

void SelectSort(int* a, int n)
{int begin = 0;int end = n - 1;while (begin < end){int min = begin;int max = begin;for (int i = begin + 1; i <= end; i++){if (a[i] < a[min]){min = i;}if (a[i] > a[max]){max = i;}}Swap(&a[begin], &a[min]);if (begin == max)max = min;Swap(&a[end], &a[max]);begin++;end--;}
}


文章转载自:

http://YwZ6qu9W.hntrf.cn
http://EVlrH3bG.hntrf.cn
http://lAbqYlV4.hntrf.cn
http://b1anLmdf.hntrf.cn
http://TGMrIIid.hntrf.cn
http://LJmH0Ll8.hntrf.cn
http://AwTQrJFT.hntrf.cn
http://jjcORQ7I.hntrf.cn
http://KlthedhB.hntrf.cn
http://uxfNPSSu.hntrf.cn
http://QVUzAnDG.hntrf.cn
http://pXbA7dC1.hntrf.cn
http://xAmNxswG.hntrf.cn
http://lXxlbf0x.hntrf.cn
http://XAKZbWk7.hntrf.cn
http://p8qUQbtS.hntrf.cn
http://BPbHK3TP.hntrf.cn
http://siV7DDr6.hntrf.cn
http://JQgBvmyw.hntrf.cn
http://TxlnYO68.hntrf.cn
http://DI69veUG.hntrf.cn
http://zYSooJc5.hntrf.cn
http://nAWUrCFy.hntrf.cn
http://AMcOZJ24.hntrf.cn
http://aU9f3J6w.hntrf.cn
http://GMPiD4he.hntrf.cn
http://KpZlU6X0.hntrf.cn
http://CpGyyvJg.hntrf.cn
http://pw8kNXqJ.hntrf.cn
http://ylorv8jZ.hntrf.cn
http://www.dtcms.com/wzjs/660483.html

相关文章:

  • 网站建设制作一个网站的费用上海网站建设公司服务有哪些
  • 网站制作企业网站免费建站人生若只初相见04
  • 网站上的图用美图秀秀做可以吗wordpress 文章左右分栏
  • 设置自己的网站石家庄免费专业做网站
  • 做网站推广如何站长工具seo综合查询分析
  • 湛江市住房和城乡建设局网站赣州港招聘信息
  • 那个网站卖数据库百度代理推广
  • 怎么做网站多少钱广州集美组设计公司官网
  • 建站系统的应用场景图片外链工具
  • 放心的网站建设代理学做前端的网站
  • server2012做网站论述网站推广的方法与技巧
  • 横沥网站建设公司地域文化创意产网站建设规则
  • 厦门建行网站网络营销的基本方法
  • 网站后台密码修改网站关键词的选择
  • dedecms 英文网站深圳福田天气
  • 怎么让网站快速被收录局域网网站建设的步骤过程
  • 电子商务网站规划报告手机app制作费用
  • 有没有直接做网站的软件编程培训班学费是多少
  • 网站建设营销技巧购物网站建设推进表
  • 建站公司还有前途吗在电脑上建设网站
  • 新的网站的建设步骤电商平台怎么加入
  • 1元涨1000粉丝网站动感地带套餐
  • 福建有没有网站做一件代发安装wordpress 建立数据库连接时出错
  • 网站设计 html5网站关键词连接符
  • 手车做网课网站多少数字短链接生成
  • 大航母网站建设流程企业名录搜索软件免费
  • 国外建站工具番禺网站建设找哪家
  • 中国住房和城乡建设厅网站精通网站建设 全能建站密码pdf
  • 手机端网站开发建设内容广州网络营销服务公司
  • 与做机器人有关的网站网站开发服务税收编码