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

丹江口网站制作电子商务网站建设

丹江口网站制作,电子商务网站建设,微网站需,win7如何做网站前言 我自己实现了很多次一些基础的算法,但不知道为什么,像选择排序和冒泡排序这一块我老是容易弄混,这里详细的研究一下。 原理 选择排序是相当于有两块内存空间,一块内存空间是存储已排序的序列,初始为空&#xf…

前言

我自己实现了很多次一些基础的算法,但不知道为什么,像选择排序和冒泡排序这一块我老是容易弄混,这里详细的研究一下。

原理

选择排序是相当于有两块内存空间,一块内存空间是存储已排序的序列,初始为空,一块空间是存储未排序的序列。我们每次就是在未排序序列里面找出目前最小的值的序列号,把他放到已排序空间的尾部,直到未排序序列为空。

实现

#include <iostream>
using namespace std;//算法实现部分
void simpleSelectionSort(int arr[], int n) {for (int i = 0; i < n-1; i++) {      // 遍历每个位置int min_idx = i;                 // 假设当前元素是最小值for (int j = i+1; j < n; j++) {  // 遍历未排序部分找实际最小值if (arr[j] < arr[min_idx]) {min_idx = j;             // 更新最小值索引}}// 交换元素(无需判断 min_idx 是否等于 i)int temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}
}//测试部分
int main() {int data[] = {64, 25, 12, 22, 11};//数组int n = sizeof(data)/sizeof(data[0]);//元素个数simpleSelectionSort(data, n);cout << "Sorted array: ";for (int i = 0; i < n; i++) {cout << data[i] << " ";}return 0;
}

核心逻辑

采用原地操作,用i在数组内代替物理上的空间隔离,i左边为已排序部分,i右边为未排序部分,每次找出最小的元素放到左边去,这是手写版本,未考虑复杂度问题不使用STL最简单实现。

为什么不使用物理分割?

物理分割就是创建两个序列,一个是未排序的,一个是已排序的,这样做也可以实现,但是效率低下,涉及到元素的拷贝,额外的需要更多的内存,都是下下之选,不如用数组内原地操作好,不管是效率(只移动一次,避免内存复制开销)还是空间(需要开辟一个同样大小的额外空间)

 

http://www.dtcms.com/wzjs/310213.html

相关文章:

  • 网站备案网站类型今日最新足球推荐
  • 想要开网店怎么开百中搜优化
  • 成都网站开发公司排名微信朋友圈推广文案
  • 协会网站模板女生学电子商务好吗
  • phpweb绿色大气茶叶网站源码杭州seo百度关键词排名推广
  • 重庆自助建网站企企业长沙做网站的公司有哪些
  • dz网站数据备份杭州seo博客
  • 如何创做网站怎么推广自己的店铺
  • wap网站排名网络营销推广渠道有哪些
  • 北京网站建设设计公司有什么功能
  • 网站建设 定制商城 小程序开发谷歌关键词搜索排名
  • 17岁日本免费完整版观看网站收录优化
  • 买了虚拟主机怎么做网站网站创建流程
  • 三明网站开发怎么给自己的网站设置关键词
  • 网站定制开发要多久seo推广优化平台
  • 网站效果案例百度竞价托管费用
  • 媒体资源湖南网络优化
  • 怎么建个人公司网站百度指数官方版
  • 哪个网站是做安全教育灰色推广引流联系方式
  • 网站推广计划机构百度关键词怎么设置
  • 常州网站建设公司咨询seo报告
  • 制作网站作业seo网络推广
  • 网站设计公司网页设计windows优化大师好不好
  • 平凉市网站建设营销推广策划方案
  • 佛山营销网站建设服务公司广州网站制作公司
  • 做数据可视化的网站深圳市龙华区
  • 网站原型的交互怎么做海南百度竞价推广
  • 可以做词云的网站推广引流方法与渠道
  • 我要啦免费统计怎么做网站怎样进入12345的公众号
  • 网站页面怎么做的好看我的百度账号登录