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

坪地网站建设好么移动端网站的优点

坪地网站建设好么,移动端网站的优点,做网站的程序员留备份,视频一般都是上传到WordPress吗介绍 选择排序是一种简单直观的排序算法,其基本思想是:从待排序的数据元素中,每次选择最小(或最大)的元素,将其与序列的起始位置交换,然后继续对剩余的元素进行排序,知道整个序列排…

介绍

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

算法步骤

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://www.dtcms.com/a/443993.html

相关文章:

  • 网站建设与管理的考试网站建设类型
  • 网站每年多少钱晋中建设局查合同网站
  • 无锡做网站设计的公司山西省建五公司官网
  • 建设公司网站的目的成都广告设计
  • 面试题(2)
  • 做简历的什么客网站如何管理好一个网站
  • 开鲁网站seo转接时空seo助手
  • 网站建设推广语言佛山制作网站公司吗
  • 网站开发项目建设规范wordpress pdf手册
  • 购物网站开发课程设计凡科网站免费版怎么做
  • 免费涨1000粉丝网站陕西省住房建设厅网站
  • 如何查询一个网站是否备案手机软件编程
  • 网络 企业网站网站木马 代码
  • 张家港安监站网址知名企业网站大全
  • 大通县公司网站建设农村电商平台入口
  • Playwright 完全指南:现代Web自动化测试利器
  • 做ppt的兼职网站有哪些做养生网站需要什么资质
  • 北京餐饮培训网站建设温州高端网站定制
  • 个人建设网站制作跨境电商好做吗
  • 地图网站怎么做的WordPress显示404error
  • Makefile语法
  • 极速网站建设哪家便宜wordpress twitter登陆
  • 同德县网站建设公司重庆涪陵网站设计公司哪家专业
  • 钟祥网站建设凡客诚品网站特点
  • 新手做淘宝客网站教程网站建设培训学校
  • 网站建设网络推广公司北京高端网站建设制作设计
  • 关于建立公司网站的申请免费咨询皮肤科医生回答在线
  • 如何软件网站优化公司玉环 企业网站建设
  • 广州营销型网站制作上海平台网站建设
  • 临沂网站建设服务商网站建设5000费用