冒泡排序算法(C#、Java、Python、JavaScript、C、C++实现)
一.介绍
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
三.时间复杂度

C#代码实现
using System; namespace BubbleSort
{
class Program
{
static void Main(string[] args)
{
int[] arr = { , , , , };
foreach (var item in GetBubbleSort(arr))
{
Console.WriteLine(item);
} Console.ReadLine();
} static int[] GetBubbleSort(int[] arr)
{
int count = ;
int temp = ;
for (int i = ; i < arr.Length - ; i++)
{
for (int j = i + ; j < arr.Length; j++)
{
if (arr[j] < arr[i])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
count++;
}
count++;
} Console.WriteLine(count);
return arr;
}
}
}
Java代码实现
package cn.lb.test;
public class BubbleSort {
public static void main(String[] args){
int[] arr={2,5,6,4,3};
for (int item :getBubbleSort(arr))
{
System.out.println(item);
}
}
public static int[] getBubbleSort(int[] arr)
{
int count=0;
int temp=0;
for (int i = 0; i <arr.length-1 ; i++) {
for (int j =0; j < arr.length-1-i; j++) {
if (arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
count++;
}
count++;
}
return arr;
}
}
Python代码实现
def getBubbleSort(arr):
for i in range(len(arr)-1,0,-1):
for j in range(0,i):
if arr[j]>arr[j+1]:
arr[j],arr[j+1]=arr[j+1],arr[j]
return arr
arr=[2,4,6,3,5]
arr=getBubbleSort(arr)
print(arr)
JavaScript代码实现
let getBubbleSort=(arr)=>{
let temp=0;
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length-i-1; j++) {
if (arr[j]<arr[j+1]) {
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
let arr=[2,5,6,4,3];
arr=getBubbleSort(arr);
arr.forEach(num=>{
console.log(num);
});
C语言实现
#include <stdio.h>
int* getBubbleSort(int arr[], int len)
{
int i, j, temp;
for (i = ; i < len - ; i++)
{
for (j = ; j < len - i - ; j++)
{
if (arr[j] > arr[j + ])
{
temp = arr[j];
arr[j] = arr[j + ];
arr[j + ] = temp;
}
}
}
return arr;
} int main() {
int arr[] = { ,,,, };
int len = (int)sizeof(arr) / sizeof(*arr);
int* p = getBubbleSort(arr, len);
int i;
for (i = ; i < len; i++)
{
printf("%d", *(p + i));
}
}
C++实现
#include <iostream>
using namespace std; int* getBubbleSort(int arr[], int len)
{
int i, j, temp;
for (i = ; i < len - ; i++)
{
for (j = ; j < len - i - ; j++)
{
if (arr[j] > arr[j + ])
{
temp = arr[j];
arr[j] = arr[j + ];
arr[j + ] = temp;
}
}
}
return arr;
} int main() {
int arr[] = { ,,,, };
int len = (int)sizeof(arr) / sizeof(*arr);
int* p = getBubbleSort(arr, len);
int i;
for (i = ; i < len; i++)
{
cout<<("%d", *(p + i))<<endl;
}
}
冒泡排序算法(C#、Java、Python、JavaScript、C、C++实现)的更多相关文章
- 编程开发(C/C++&Java&Python&JavaScript&Go&PHP&Ruby&Perl&R&Erlang)
使用Docker快速部署主流编程语言的开发.编译环境及其常用框架,包括C.C++.Java.Python.JavaScript.Go.PHP.Ruby.Perl.R.Erlang等. 在今后采用编程语 ...
- 冒泡排序算法(Java)
冒泡排序即每次遍历.相邻数字间进行比較,前者大于后者进行交换,不断将最大值后移,直至沉至最后位置:算法关键要点在于确定每次循环的边界. 后面两种算法则是对冒泡排序一定程度上的改良,但相对于其它排 ...
- 简单的冒泡排序算法(java)
package lianxi; public class BubbleSort { public static void main(String[] args) { int[] array = {12 ...
- Java调用Javascript、Python算法总结
最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...
- [转]Java调用Javascript、Python算法总结
最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...
- 冒泡排序算法的C++,Java和Python实现和冒泡排序算法三种语言效率的比较
冒泡排序原理: 这一篇百度经验讲得很好,我不多说了 https://jingyan.baidu.com/article/6525d4b13f920bac7d2e9484.html 他讲的是C语言,没有 ...
- 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类
30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...
- indexOf原理,Java,javascript,python实现
简介 最近做项目的时候,发现无论是前端还是后端,indexOf出现的概率都非常频繁,今天我们来看下他的实现原理吧! indexOf的含义:给定一个字符串去匹配另一个字符串的下标,如果匹配到,返回下 ...
- java:高速排序算法与冒泡排序算法
Java:高速排序算法与冒泡算法 首先看下,冒泡排序算法与高速排序算法的效率: 例如以下的是main方法: /** * * @Description: * @author:cuiyaon ...
随机推荐
- apache commons类库的学习
原文地址http://www.tuicool.com/articles/iyEbquE 1.1. 开篇 在Java的世界,有很多(成千上万)开源的框架,有成功的,也有不那么成功的,有声名显赫的,也有默 ...
- javascript获取数组最后一个元素(三种方法)
JavaScript 获取Array末尾元素 一.JavaScript pop() 方法 pop() 方法用于删除并返回数组的最后一个元素. 注意:pop() 方法将删除 arrayObject 的最 ...
- js window.onload 加载多个函数和追加函数
平时做项目 经常需要使用window.onload, 用法如下: function func(){alert("this is window onload event!");ret ...
- [LC] 270. Closest Binary Search Tree Value
Given a non-empty binary search tree and a target value, find the value in the BST that is closest t ...
- [LC] 796. Rotate String
We are given two strings, A and B. A shift on A consists of taking string A and moving the leftmost ...
- python编程练习题目
github上面的一个项目,分为level1,level2,level3 三个等级的难度. 题目地址 一部分中文翻译 python教程 剑指offer,python3实现 python进阶 练习题1: ...
- Amsterdam Distance
题目描述 Your friend from Manhattan is visiting you in Amsterdam. Because she can only stay for a short ...
- C++ const成员变量和成员函数(常成员函数)
在类中,如果你不希望某些数据被修改,可以使用const关键字加以限定.const 可以用来修饰成员变量和成员函数. const成员变量 const 成员变量的用法和普通 const 变量的用法相似,只 ...
- nonparametric method|One-Mean t-Interval Procedure|
8.4 Confidence Intervals for One Population Mean When σ Is Unknown 原先是 standardized version of x bar ...
- echart封装,前端简单路由,图表设置自动化
https://github.com/cclient/EhartDemoSetByAngular 后端node.js 前端插件 echart,jquery,jqueryui,datapicker,an ...