冒泡排序的基本思想:如果要对n个数进行排序就需要进行n-1次比较,在第一轮比较中要进行n-1次两两比较,在第j轮中进行n-j次两两比较。

算法解释请看代码注释

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void bubble(int*p,int len) {for (int i=0;i<len-1;i++){for (int j=0 ; j<len-1-i;j++){if (*(p+j)<*(p+j+1)){//*(p+j)=p[j],所以也可以写成p[j]int temp;temp = *(p + j);*(p + j) = *(p + j + 1);*(p + j + 1) = temp;}}}
}int main(void){int arr[10] = { 4,5,30,22,8,43,28,10,7,23 };//数组名和指针的区别 数组名通过sizeof 可以求出数组大小 指针只包含数组的首地址信息int* p = arr;int len = sizeof(arr)/sizeof(arr[0]);//数组长度//printf("%zu\n", sizeof(arr));//40//printf("%zu\n", sizeof(p));//8bubble(p, len);//传参for (p=arr;p<&arr[10];p++)//指针遍历{printf("%d\n", p[0]);//p++每次加一,就等于自动前进,所以一直打印p[0]即可。}system("pause");return EXIT_SUCCESS;
}

运行结果:

C语言:指针版冒泡排序算法相关推荐

  1. c语言数组冒泡排序程序的解释,c语言指针数组冒泡排序代码

    在学习计算机编程的时候,最重要的就是多思考多练习,才能理解其中的原理.算法,下面ITmemo分享一段我学习c语言基础之后写的一段c语言指针数组冒泡排序代码,其实就是从常规代码改为指针方式进行数组排序而 ...

  2. C语言入门:利用冒泡排序算法实现将学生姓名按字典序排序

    C语言:利用冒泡排序算法实现将学生姓名按字典序排序 1.字符数组的定义与初始化 定义字符数组的一般格式为:char  数组名[常量表达式]: 字符数组的初始化有三种不同的方式:(1)用单个字符常量对字 ...

  3. Python版快速排序算法

    Python版冒泡排序算法请参考Python版冒泡法排序算法 Python版选择排序算法请参考Python版选择排序算法 from random import randint def quickSor ...

  4. C语言-冒泡排序算法

    冒泡排序 要求 输入n个整数,将它们从小到大排序后输出,要求使用冒泡排序算法. 示例源代码 /*冒泡排序算法*/ #include <stdio.h> void bubble(int a[ ...

  5. 【C语言】两种方式实现冒泡排序算法

    题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...

  6. c语言冒泡排序法程序填空_【C语言】两种方式实现冒泡排序算法

    题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...

  7. c语言数据交换的算法流程图,C语言冒泡排序算法浅析

    C语言泡排冒序算浅析 法中刘旭 ( 江师范丽等专高学科校数与计算机学科学系 ) [ 摘]要泡冒排序算法 C语言常见是排序算法之,一该算法的优点 逻辑是清晰,代码简洁,点缺是时复杂度间高较本文介.绍了统 ...

  8. 索骥馆-编程语言之《程序语言的奥妙:算法解读(四色全彩)》扫描版[PDF]

    内容简介: 在我们生活的世界中,各种各样形形色色的事物和现象,其中都必定包含着科学的成分.在这些成分中,有些是你所熟知的,有些是你未知的,有些是你还一知半解的.面对未知的世界,好奇的你是不是有很多疑惑 ...

  9. 严蔚敏版数据结构(C语言版)算法实现代码

    严蔚敏版数据结构(C语言版)算法实现代码 数据结构(C语言版)代码实现 线性表 顺序表 链表 单向链表 静态链表01 静态链表02 双向循环链表 栈与队列 栈 顺序栈 进制转换 行编辑器 未完待续.. ...

最新文章

  1. 剑指offer:面试题39. 数组中出现次数超过一半的数字
  2. 基于SSM实现公交路线管理系统
  3. C++对C的加强之 “实用性”增加
  4. C# 文件操作详解(一)---------File类
  5. C++:43---派生类向基类转换、静态/动态的类变量
  6. android url拼接参数,【Tech-Android-Other】高效拼接一个GET请求URL
  7. java零碎要点009---java实现服务器心跳机制,TCP握手
  8. verilog 数据格式
  9. C语言 · 字符删除
  10. gxworks2使用指令手册_三菱编程软件 GX Works2 操作手册简单工程篇中文高清版
  11. usb芯片+android+驱动,PL2303芯片驱动
  12. Win10 虚拟桌面的使用
  13. 单目相机三维姿态解算
  14. css旋转,附源代码
  15. ROS出现“Couldn't find executable named listener below //home/xxx/catkin_ws/src/mypack”问题
  16. 背景的css代码,CSS网页设计实例:设计制作大背景网页_css
  17. 加速度随机游走_VIO学习之公式推导——IMU篇
  18. php intersect,php array_intersect()函数使用代码
  19. 视频合并分割软件怎么给视频加片头
  20. CC2640R2F学习笔记(7)——自定义服务和特征

热门文章

  1. uni-app指定端口号
  2. 单片机开发-软件架构与系统设计(工程实现使用的也是轮询系统、前后台系统和多任务系统)
  3. Mac文件管理工具:Path Finder
  4. Android json数据解析
  5. Postgre的基本使用
  6. 一文读懂IMF和各国央行数字货币到底有何关系
  7. XAMPP+WordPress+花生壳搭建博客
  8. linux驱动之总线详解
  9. 【MySQL】警告: 1681 - XXX is deprecated and will be removed in a future release.
  10. Unity水管 管道流水资源