冒泡排序法函数

文章目录

  • 冒泡排序法的函数实现
  • 使用教程

冒泡排序法的函数实现

话不多说上代码,拿去直接用。

// 冒泡排序函数
/*
*  @brief  sort
*  @param  array为数组名称,length为数组的长度,order为1或0,1代表从小到大排序
*          0代表从大到小排序
*  @return 0代表排序失败,1代表排序成功
*/
int sort(int *array,int length,int order)
{int temp;for(int i=0; i<length-1; i++)     // 10个数,10 - 1轮冒泡,每一轮都将当前最大的数推到最后{for(int j=0; j<length-i; j++) // 9 - i,意思是每当经过一轮冒泡后,就减少一次比较{if( 1 == order ){if(array[j]>array[j+1]){temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}else if( 0 == order ){if(array[j]<array[j+1]){temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}else{return 0;}}}return 1;
}

使用教程

#include <stdio.h>
#include <time.h>//使用当前时钟做种子
#include <stdlib.h>// 冒泡排序函数
/*
*  @brief  sort
*  @param  array为数组名称,length为数组的长度,order为1或0,1代表从小到大排序
*          0代表从大到小排序
*  @return 0代表排序失败,1代表排序成功
*/
int sort(int *array,int length,int order);
int main()
{srand( (unsigned)time( NULL ) );     //初始化随机数int dataCount=10;int numArr[dataCount];printf("%s\n","The original array value list :");for( int i = 0; i < dataCount;i++ )  //打印出10个随机数{numArr[i]=rand()%100+1;printf("  %d\n",numArr[i]);}sort(numArr,11,1); //调用排序函数// 打印排序结果printf("\n%s\n","The now array value list :");for (int i = 0; i < 10; i++)printf("  %d\n", numArr[i]);printf("\nThe max value : %d\n",numArr[9]);return 0;
}

直接复制使用即可。

注意

1.只能对数组进行排序
2.没有对数组的长度进行防呆,需要真实的传入长度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

boost序列化(Serialization)

本文章转载自 http://m.blog.csdn.net/zj510/article/details/8105408 程序开发中&#xff0c;序列化是经常需要用到的。像一些相对高级语言&#xff0c;比如JAVA, C#都已经很好的支持了序列化&#xff0c;那么C呢&#xff1f;当然一个比较好的选择就是用Boost&#xff0c;这个…

java基础经典练习题

【程序1】 题目&#xff1a;古典问题&#xff1a;有一对兔子&#xff0c;从出生后第3个月起每个月都生一对兔子&#xff0c;小兔子长到第三个月后每个月又生一对兔子&#xff0c;假如兔子都不死&#xff0c;问每个月的兔子总数为多少&#xff1f; //这是一个菲波拉契数列问题 p…

ubuntu下wps不能输入中文

ubuntu下wps不能输入中文 原因是因为fcitx环境的原因&#xff0c;想了解fcitx的可以看这篇文章&#xff0c;链接。 使用脚本解决 将下面的脚本复制到新建的文件中&#xff0c;chmod加权限&#xff0c;然后执行即可。 #! /bin/bash #--------------------------------------…

常见的几种内排序算法以及实现(C语言)(转)

所有未排序的数组是经过检查合法的主要的内排序包括冒泡、插入、希尔、堆排序、归并、快速、桶排序等其C语言实现的源文件下载地址&#xff1a;http://download.csdn.net/detail/mcu_tian/9530227冒泡排序冒泡排序应该是排序中最简单的算法了主要思路如下&#xff1a;1&#xf…

常见编程命名缩写

命名缩写 通用缩写翻译控件缩写翻译addressaddr地址calendarcdr日历applicationapp应用程序messageDialogmsgdlg消息框asynchronizationasyn异步drawerdrw抽屉averageavg平均数buttonGroupbtngrp按钮分组bitmapbmp位图checkBoxchk复选框bufferbuf缓冲区containercntr容器chara…

funCode课程实训(C++ )

funcode是一个简单的游戏制作引擎&#xff0c;适合c初学者操作&#xff0c;可以帮助初学者更好的了解c环境&#xff0c;以及各种函数的实现&#xff0c;本学期我们用funcode作为C最后的课程设计&#xff0c;所以我就使用funcode制作一个打地鼠的小游戏。以下是对这个小程序的描…

Nodejs,Npm,React安装教程

React安装 1.下载node.js安装包 下载二进制包 选择比较稳定的版本进行安装&#xff0c;v8.9 2.安装 直接把文件解压复制到某个目录下&#xff0c; sudo cp -r node-v8.9.0 /opt/node #你下载的版本sudo touch /etc/profile.d/node.sh #新建一个脚本文件sudo gedit /etc/…

Ubuntu下的提示信息彩色显示

【问题】 虽然已经折腾过了&#xff1a; 【已解决】Ubuntu中让终端只显示当前路径&#xff0c;而不显示绝对路径 但是&#xff0c;终端中的prompt提示信息&#xff0c;不是彩色的&#xff0c;导致的结果是&#xff1a; 当终端中输出信息很多时&#xff1a; 【已解决】Ubun…

hustoj的搭建

最近开始接触服务器之类的&#xff0c;就自己搭建一个hustoj的服务器&#xff0c;hustoj系统的搭建在网上已经很完善了&#xff0c;这里我就简单的说一下&#xff0c;作为自己的学习笔记。 安装主要环境&#xff0c;Apache2&#xff0c;MySQL&#xff0c;php5和PHPmyadmin。 …

Shell字符串操作集合

字符操作字符串的长度获取字符串中某些字符的个数统计单词的个数bash提供的数组数据结构它是以数字为下标的和C语言从0开始的下一样awk里面的数组取子串匹配求子串sed有按行打印的功能记得用tr把空格换为行号tr来取子串head和tail查询字串子串替换tac 会将文本的内容倒置显示正…

百练4982 踩方格

总时间限制: 1000ms 内存限制: 65536kB描述有一个方格矩阵&#xff0c;矩阵边界在无穷远处。我们做如下假设&#xff1a;a. 每走一步时&#xff0c;只能从当前方格移动一格&#xff0c;走到某个相邻的方格上&#xff1b;b. 走过的格子立即塌陷无法再走第二次&#xff1b;…

Qt自定义QML模块

自定义QML模块 含义为将常用风格的Button&#xff0c;Text,RadioButton,或者自定义的控件作为一个控件进行使用&#xff0c;节省代码。 优点&#xff1a; 代码简洁&#xff0c;减少重复代码自定义的控件进行封装重复使用可以与QML自带的库区别开来优化项目结构 一、创建模块…

POJ3984 迷宫问题【BFS】

好长时间没有敲过代码了&#xff0c;感觉之前学过的都忘了&#xff0c;趁着这个暑假&#xff0c;打算把之前学习的东西都复习一下&#xff0c;当然得慢慢来&#xff0c;毕竟好长时间不敲代码了&#xff0c;怎么着都有些生疏&#xff0c;再加上之前学的也不咋地&#xff0c;相当…

宏定义基本用法

宏定义 不带参数 宏定义又称为宏代换、宏替换&#xff0c;简称“宏”。 格式&#xff1a; #define 标识符 字符串其中的标识符就是所谓的符号常量&#xff0c;也称为“宏名”。 预处理&#xff08;预编译&#xff09;工作也叫做宏展开&#xff1a;将宏名替换为字符串。 掌…

广度优先搜索练习之神奇的电梯

广度优先搜索练习之神奇的电梯 Time Limit: 1000ms Memory limit: 65536K 题目描述 有一座已知层数为n的高楼&#xff0c;这座高楼的特殊之处在于只能靠电梯去上下楼&#xff0c;所以要去到某一层要非常耽误时间&#xff0c;然而更悲哀的是&#xff0c;这座高楼的电梯是限号…

ubuntu安装proxychains及自动补全

proxychains ProxyChains是本人目前为止用到的最方便的代理工具。 inux下代理一般是通过http_proxy和https_proxy这两个环境变量&#xff0c;但是很多软件并不使用这两个变量&#xff0c;导致流量无法走代理。在不使用vpn的前提下&#xff0c;linux并没有转发所有流量的真全局…

快速幂讲解

快速幂的目的就是做到快速求幂&#xff0c;假设我们要求a^b,按照朴素算法就是把a连乘b次&#xff0c;这样一来时间复杂度是O(b)也即是O(n)级别&#xff0c;快速幂能做到O(logn)&#xff0c;快了好多好多。它的原理如下&#xff1a; 假设我们要求a^b&#xff0c;那么其实b是可以…

如何查询资料

如何查询资料技术资料及问题查询查询方法分类查找提取关键字GitHub项目优先使用Google搜索引擎Copy Paste论文查找询问主管 测试修改使用总结分享 公司信息查询国内公司国外公司 如何查询资料 技术资料及问题查询 查询方法 资料与解决办法的查询大致分为7大类。 1.分类查…

山东省第八届 ACM 省赛 sum of power(SDUT 3899)

Problem Description Calculate ∑ni1im mod (10000000007) for given n&#xff0c;m. Input Input contains two integers n,m(1≤n≤1000,0≤m≤10). Output Output the answer in a single line. Example Input 10 0 Example Output 10 方法&#xff1a;快速幂和大数求和 …

Ubuntu主题更换

Ubuntu主题更换 目前的Ubuntu有Unity和Gnome两个比较流行的版本&#xff0c;以下为Gnome桌面环境的主题更换&#xff0c;其他桌面环境类似。 主题的下载地址&#xff0c;点击 Theme 将在网络上下载的主题文件进行解压&#xff0c;然后拷贝到 /usr/share/themes/ 目录下&…