指针实现冒泡排序:
void order(int* p, int n)
{
int i,t,j;
for(i = 0; i < n-1;i++)
{
for(j = 0; j < n-1-i; j++)
{
if(*(p+j) > *(p+j+1))//判断两个相邻元素的大小
{
t = *(p+j);
*(p+j) = *(p+j+1);
(p+j+1) = t;
} //相当于把大的数往后面挪
}
}
}
指针实现选择排序
void order(int
p, int n)
{
int i, j, t;
for (i = 0; i < n-1; i++)
//i<n-1 是因为最后一个数后面已经没有数了,不需要再比较了
{
for (j = i+1; j < n; j++)
{
if ( *(p+i) > *(p+j) )//用数组中每一个元素与后面所有元素比较,小的数往前换
{
t = *(p + i) ;
*(p + i) = (p + j);
(p + j) = t;
}
}
}
}
指针实现插入排序
void order(int
p, int n)
{
int i,t,j;
for(i = 1; i < n; i++)
{
for(j = i - 1; j >= 0; j–)
{
if(
(p+j) > *(p+j+1))//判断两个相邻元素的大小
{
t = *(p+j);
*(p+j) = *(p+j+1);
*(p+j+1) = t;
} //相当于把小的数往前挪
}
}
}

有上述程序可以发现:选择排序、冒泡排序以及插入排序只是比较的方式不一样,选择排序是每个数与后面每个数进行比较,而冒泡排序和插入排序则是两两比较,冒泡排序把大的数通过一次次交换往后面挪,插入排序是把小的数依次往前面挪,本质上是一样的。

C/C++的灵魂—指针实现冒泡排序、选择排序和插入排序相关推荐

  1. ❤️万字总结八大排序:冒泡排序,选择排序,插入排序,堆排序,希尔排序,归并排序,计数排序❤️

    目录 主要排序算法性能对比 冒泡排序 选择排序 插入排序 堆排序 希尔排序 快速排序 Hoare版 挖坑版 前后指针法 归并排序 计数排序 海量数据的排序问题 主要排序算法性能对比 冒泡排序 各位同学 ...

  2. 十大排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序

    冒泡排序.选择排序.插入排序.希尔排序.归并排序.快速排序.堆排序.计数排序.桶排序.基数排序的动图与源代码. 目录 关于时间复杂度 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 ...

  3. 02_Python算法+数据结构笔记-冒泡排序-选择排序-插入排序-快排-二叉树

    b站视频:路飞IT学城 清华计算机博士带你学习Python算法+数据结构_哔哩哔哩_bilibili 文章目录 #11 排序介绍 #12 冒泡排序介绍 #13 冒泡排序 #14 选择排序 #15 插入 ...

  4. 三种基本排序的实现及其效率对比:冒泡排序、选择排序和插入排序

    1 public class ThreeTypesOfBaseSort { 2 // ========================== 三种基本排序的效率对比 ================== ...

  5. 算法与数据结构(冒泡排序,选择排序和插入排序的总结)

    冒泡排序,选择排序和插入排序的总结 在规模较小时,或者元素的有序性较高时,插入排序的时间复杂度可以接近 O(n) ,是上述三种排序里表现最好的 一.通过表格我们可以发现,冒泡排序的时间复杂度是要优于选 ...

  6. 冒泡排序选择排序插入排序

    目录 冒泡排序 选择排序 插入排序 冒泡排序 冒泡排序(最好是O(n), 最坏O(n2)) 原理: 拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较,第一轮结 ...

  7. 算法与数据结构(python):冒泡排序、选择排序、插入排序

    系列文章目录 提示:专栏解锁后,可以查看该专栏所有文章. 文章目录 系列文章目录 冒泡排序 选择排序 插入排序 冒泡排序 bubble sort可以说是最简单的一种排序算法了,它的思想如下.对一个数组 ...

  8. C语言排序(桶排序,冒泡排序,选择排序,插入排序,快速排序)

    参考:C语言五大排序(桶排序,冒泡排序,选择排序,插入排序,快速排序)动态演示 作者:一只青木呀 发布时间: 2020-09-09 20:18:43 网址:https://blog.csdn.net/ ...

  9. Python排序算法(一)冒泡排序、选择排序、插入排序

    今天总结一下Python中的排序算法.这篇文章有的排序算法是:冒泡排序.选择排序.插入排序. 冒泡排序 先看一下代码. ''' 冒泡排序 '''def bubble_sort(aList):n = l ...

  10. 都是❤️两层循环❤️的冒泡排序,选择排序,插入排序该怎么区分

    目录 冒泡排序 选择排序 插入排序 这三个排序都有两层循环这是他们表面的特点,我把外部循环叫大循环,内部循环叫小循环,他们算法根本思想都有相同点,就是将待排序序列分为无序区间和有序区间,每过一次大循环 ...

最新文章

  1. 诺奖得主本庶佑:CNS这些顶刊观点有九成不正确,不要盲从迷信,搞科研做到六个C更重要...
  2. Error while adding the mapper ‘interface *****类‘ to configuration报错原因
  3. linux python pymssql,Linux下安装pymssql及简单尝试
  4. ZOJ4100 浙江省赛16th Problem A
  5. JavaOne 2015 –第二十版十大收获
  6. 做自己的二维码设计大神
  7. react native多语言_前端福音:为什么使用 React 和 SVG 开发图形 UI 是天作之合?
  8. 在 Confluence 6 中的 Jira 高级权限
  9. Python入门--数据类型的转换
  10. uses-sdk标签详解
  11. php jpgraph 中文,JPGraph 4.0(for PHP7)中文字体设置
  12. Unity3D开发学习
  13. 杭州餐饮掀起资本浪 多家浙江餐饮企业获vc关注
  14. 如何给网页添加icon图标?
  15. 通过主成分分析实现三维模型对齐【Principal Component Analysis】
  16. 自己写一个微型数据库_“最国际化的微型机构:”两名伦敦训练营的毕业生如何建造了一个远程…...
  17. 【Web技术】1189- 你不知道的前端音视频知识
  18. 攻防世界 Reverse进阶区 BABYRE WP
  19. 致在研发路上努力奔跑的技术人
  20. 单向链表在O(1)时间内删除一个节点

热门文章

  1. 《三体》里的超级计算机,我们今天能造出来吗?
  2. python10086查询系统_Python数字移动设备取证
  3. 多分类学习:OvO、OvR、ECOC
  4. 【英语-同义词汇词组】advantage | ascendancy | predominance | preponderance | prepotency | superh的用法及区别
  5. 传奇GOM引擎单机架设图文教程
  6. 转载:一个程序员的顿悟
  7. 根据RGB​值判断颜色是否深浅色(附深浅色颜色集合)
  8. [Boston Legal][S02E02]Allan Shore在Kelly Nolan被控杀夫一案中的结案陈词
  9. 瑞星防火墙导致系统运行缓慢的问题
  10. Proxifier代理指定程序到fiddler