第一周的工作室课题主要学习练习的内容是排序算法这一块的内容,其中我在做题时主要用到了写程序时的三个基本排序算法——直接插入排序、起泡排序、选择排序。下面为大家依次介绍:

一.直接插入排序(straight inserttion sort)。基本思想是:依次将待排序的无序区中的每一个记录插入到已排好序的有序区中,直到全部记录都排好为止,如下图所示。

代码展示:

void InsertSort(int * r,int n)
{int i,j,temp;for(i = 1 ; i < n ; i++){temp = r[i];for(j = i-1 ; j >= 0 && temp < r[j] ; j--){r[j+1] = r[j];cout << r[j] << " ";}r[j+1] = temp;}
}

二.起泡排序(bubble sort)。基本思想:两两比较相邻记录,如果反序则交换,直到没有反序的记录为止,如下图所示。

代码展示:

void BubbleSort(int*r,int n)
{int j , exchange , bound , temp;exchange = n-1;while(exchange != 0){bound = exchange;exchange = 0;for(j = 0 ; j < bound ; j++){if(r[j] > r[j+1]){cout << r[j+1] << " ";temp = r[j];r[j] = r[j+1];r[j+1] = temp;exchange = j;}}}
}

三.选择排序(selection sort)。基本思想:第i趟排序在待排序序列的第ri~rn(1≤i≤n-1)中选取最小的记录,并和第i个记录交换作为有序序列的第i个记录,如下图所示。

代码展示:

void simpleSelect(int* r, int n)
{int index, temp;for (int i = 0 ; i < n-1; i++){index = i;for (int j = i+1; j < n; j++){if (r[j] < r[index]){index = j;}}if (index != i){temp = r[i];r[i] = r[index];r[index] = temp;}}
}

*注:本文章为作者自己工作室课题学习笔记,并非学术性文章,不喜勿喷! 欢迎大佬评论指点迷津,指出不足!

*本文章参考文献:《数据结构——从概念到C++实现(第三版)》

工作室课题学习情况总结(第一周)相关推荐

  1. 工作室课题学习情况总结(第二周)

    第二周的工作室课题主要学习练习的内容是查找这一块的内容,其中我选取了个在做题是碰到的例子来展开讲解: 一.彩票 Description 为丰富男生节活动,贵系女生设置彩票抽奖环节,规则如下: 1.每张 ...

  2. 工作室课题学习情况总结(第三周)

    第三周的工作室课题主要学习练习的内容是搜索这一块的内容,其中我选取了个在做题是碰到的例子来展开讲解: 一.铺地毯 为了准备一个学生节,组织者在会场的一片矩形区域(可看做是平面直角坐标 系的第一象限)铺 ...

  3. 萌新的java学习之路——第一周

    萌新的java学习之路--第一周 第一周的学习 这是我学习Java的第一周,写这个博客更多的时为了总结自己这一周的学习情况,如果有人看到我写的博客,有什么问题的话,可以问我.虽然我也是一个小白,但我会 ...

  4. 学习周报之第一周(数据分析)

    第一周学习报告 1.看完了熊老板的视频,记录下了一些感悟:学习心得 2.开始看MOOC上面北京理工大学的数据分析与展示的课程,打好数据分析的基础,学习链接 3.看了Health Insurance C ...

  5. Python+Django+LeanCloud+腾讯云函数学习记录(第一周学习记录)

    第一周学习记录 开始从事微信小程序云开发和后台搭建的实习工作,这半年来会一直定期更新学习记录 1.微信爬虫模块 1.Itchat包 ​ 使用itchat包的初衷是为了通过该包的login端口直接通过扫 ...

  6. Hubble Zhang的学习日记(第一周)

    为了督促自己每天都有进步,在这里记录下每天遇到的问题和学到的新知识,仅作为个人回顾使用. 目录 日记(第一周) 20200929 20200930 20201001 20201002 20201004 ...

  7. 小鱼鱼的 Python 学习笔记(第一周)

    前言:百无聊赖之下,小鱼鱼开始学习Python , 并且尝试做一定的输出,整理和回顾所学知识.学习资源为慕课上北京理工大学嵩天老师极其团队讲授的课程,博文内容基本为上课所学的再现. ~~ 这是一条正经 ...

  8. (前端学习)寒假第一周周报

    了解了一下前端学习的路线,我有点震惊,学习的东西真的很多很多,如下: 原来css也只是准备工作,不禁感慨任重而道远 附带一张我HTML和css的视频学习进度 这周学习完了HTML和css中的属性和一部 ...

  9. 实习日/周/月记学习计划(第一周)

    2019.07.05 从主管到一级级leader介绍下来,意识到银行的主要技术栈还是Java相关的,而我对Java的认知永远停留在大三做课程设计时的jsp+javabean了.. 海哥初步给我介绍了实 ...

最新文章

  1. C++中operator关键字(重载操作符)
  2. 电脑硬件配置——组装查询软件
  3. iphone电池怎么保养_苹果iPhone手机怎么开启【优化电池充电】
  4. Windows删除指定时间之前指定后缀名的文件
  5. java 求集合平均数_图像二值化方法介绍(转载学习)
  6. Spring集成PageHelper的简单用法
  7. 《转》ReentrantLock实现原理深入探究
  8. mysql主从复制服务器配置
  9. 在linux下挂载ios镜像文件,linux下挂载iso镜像文件
  10. Doom启示录(一)---李乃峰所崇拜之 两个约翰!
  11. 使用scipy来进行曲线拟合
  12. spss并行配置不正确解决方案
  13. [个人笔记]HCIP-Routing Switching-IEEP/H12-223
  14. mysql的字段空格是null_空字符与空格字符、NULL、空字符串
  15. Spring Cloud Alibaba与Spring Cloud的区别
  16. Redis的常用命令,Redis常用操作命令
  17. CSR867x — IOS设备搜索到的BLE外设名称与实际名称不相符的问题分析
  18. HIVE学习系列——windows Hadoop安装(上)
  19. 华为云服务器,新用户福利!!0元免费体验云产品最长可达一年
  20. 用matlab编写的游戏,用matlab编写的俄罗斯方块小游戏

热门文章

  1. Linux命令手册-通过文件名查找文件(find、which、locate)(详解)
  2. 计算机网络实验4--IP动态路由搭建
  3. 火星电竞|电竞数据分发系统架构演进
  4. 域名,主机名,网站名,URL
  5. GHOSTXPSP3电脑爱好者V9.9装机版
  6. php上传 找不到临时文件夹(解决方法)
  7. 基于Tomcat7的WebSocket.兼容IE(客户端需Flash10)
  8. 微信小程序购物车基本功能
  9. 在虚拟机中安装kali
  10. 迅为龙芯2K1000开发板虚拟机ubuntu安装VMtools工具