面试过程中,免不了会问一些比较基础的问题,而这些基础的问题肯定要说到排序上去。

      我们知道,排序算法包含插入,选择,冒泡,快速,归并,堆排序等等,大多时候,我们在面试的时候,最常问的排序算法是堆,快速和归并排序,其他的几种相对简单,问的较少,那么,我们只需要在面试前把它们都弄懂然后自己在纸上写出来就可以了。在写这些算法的时候,我查了很多的资料,也看了很多文章,毕竟排序算法非常经典,所以,在这上面花的时间还挺多的。不过,我发现有些排序算法的实现偏复杂,而且不好理解,于是,我整理并写下了这些常用的排序算法,个人感觉还是比较容易理解的。

      当然,我也把算法的实现上传到了这个页面,大家可以去下载(免积分):

http://download.csdn.net/detail/dlutbrucezhang/8071405

这里,我仅是贴出实现代码的头文件,方便看到这里有哪些排序算法的实现:

#ifndef SORT_ALGORITHM_H
#define SORT_ALGORITHM_H/*交换函数*/
void swap(int &a, int &b);/*冒泡排序*/
void BubbleSort(int* array, int n);/*快速排序*/
int partition(int* array, int low, int high);
void QuickSort(int* array, int low, int high);/*选择排序*/
void SelectSort(int* array, int n);/*堆排序*/
void createHeap(int* array, int n);
void adjustHeap(int* array, int i, int n);
void HeapSort(int* array, int n);/*插入排序*/
void InsertSort(int* array, int n);/*归并排序*/
void mergeArray(int* array, int first, int mid, int last, int* temp);
void mergeOrder(int* array, int first, int last, int* temp);
void MergeSort(int* array, int n);/*希尔排序*/
void shellInsert(int* array, int d, int n);
void ShellSort(int* array, int n);#endif // !SORT_ALGORITHM_H

面试题目集锦 -- 排序算法相关推荐

  1. 面试题目_经典面试题目「回溯算法」解数独

    解数独,理解二维递归是关键! 通知:我将公众号文章和学习相关的资料整理到了Github :https://github.com/youngyangyang04/leetcode-master,方便大家 ...

  2. BAT等公司高薪招聘Android开发面试题目集锦

    整理过的50道面试题目 1.listView的优化方式 重用convertView viewHolder static class viewHolder 在列表里面有图片的情况下,监听滑动不加载图片 ...

  3. 排序算法 - 面试中的排序算法总结

    排序算法总结 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中.因为其实现代码较短,应用较常见.所以在面试中经常会问到排序算法及其相关的问题.但万变不离其宗,只要熟悉了思想,灵活运用也不 ...

  4. python算法题排序_python-数据结构与算法- 面试常考排序算法题-快排-冒泡-堆排-二分-选择等...

    算法可视化网站推荐---->visualgo 0.面试题中的排序算法 一些排序算法可能在工作中用的会比较少,但是面试却是不得不面对的问题.算法有助于提高我们对数据结构的理解以及提高自己的逻辑能力 ...

  5. 手撕前端面试之经典排序算法

    作者 | 霍语佳       责编 | 欧阳姝黎 排序算法是面试中的高频考察点,我们需要熟练掌握.本文整理了最经典.最常用的排序算法并且搭配了动图和视频,希望能够帮助你更加轻松的理解它们. 首先,根据 ...

  6. 面试必考排序算法最详细介绍,包含动画演示、大厂真题(每天一遍,面试必过)

    文章目录 前言 六大排序算法 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 总结 一图解释所有 关于时间复杂度 关于稳定性 大厂面试真题 前言 不知道大家有没有发现,排序算法的考核在校招 ...

  7. 面试题目集锦--链表

    前段时间一直在忙着找工作,在面试中也遇到了大量的算法题目,其中,问的比较多的是二叉树和链表之类的题目,在这里,我就把前段时间写的链表面试题贴出来,当然,由于题目很多,我只是在这里贴出它的类构造,不贴出 ...

  8. 面试题目集锦--二叉树

          面试过程中,问的最多的题目大致是可以分为两类的,一类是链表,另一类就是二叉树了,树(普通数)和B(+-)树由于稍难些,问的不是很多.       往往在问到二叉树的时候,一般都是用递归的解 ...

  9. 转-python面试题目集锦(100道部分附答案)

    Python爬虫人工智能教程:www.python88.cn 编程资源网:www.python66.cn 最近收集整理了100道python真实面试笔试题,并自己做了一些,希望能帮助大家,顺利早日找到 ...

最新文章

  1. linux下备份mssql文件,linux服务器怎么定时备份mysql的sql文件数据
  2. nginx:413 Request Entity Too Large 及 修改 PHP上传文件大小配置
  3. HDU 2087剪花布条 KMP
  4. 服务器中安装多版本的cuda
  5. Oracle 警告:Weblogic 服务器中含有多个可遭远程利用的严重漏洞
  6. python基础--函数作用域
  7. 基于DS3231实时时钟模块的stm32简易闹钟
  8. 三维随机介质模型matlab,基于随机介质理论的复合材料孔隙二维形貌几何仿真
  9. ArcCatalog导出数据
  10. 号外号外!兹有第一届区块链技术及应用峰会(BTA)·中国首轮议题抢鲜看
  11. matlab编程求解一元高次方程
  12. Python 爬取微信公众号文章和评论 (有源码)
  13. 干货分享丨精心整理了份Python知识点高清速查表!太受用了!
  14. iframe 动态 加载 src
  15. layui.table(表格)跨页多选
  16. 作为一名视觉工程师该怎么学习?
  17. MATLAB自相关矩阵计算方法
  18. 铜三铁四,京东裁员,offer毁约,对此我们真的没办法吗?
  19. 第四代计算机主要采用什么作为逻辑开关元件,第四代计算机主要采用什么作为逻辑开关元件?...
  20. 关于img标签中data:image/XXX;base64图片内容提取

热门文章

  1. MySql 5.7 新特性概览
  2. 互联网共鸣之声:2018年或成为云计算转折之年
  3. I.MX6 View长宽大于屏的分辨率
  4. 将syslog ng日志写入MySQL(远程)数据库
  5. iOS进程间通信之CFMessagePort
  6. @RequestBody, @ResponseBody 注解详解
  7. OpenCV检测图像轮廓
  8. 关于mysql的调优
  9. lamp 环境搭建论坛
  10. 红帽企业版6.0 KVM虚拟化实战攻略02