本文概述
- 算法
- 复杂
- C程序
- C ++程序
- Java程序
- C#程序
- Python程序
- 休息计划
- JavaScript程序
- PHP程序
- 在通道1中, 将A [0]与A [1]比较, 将A [1]与A [2]比较, 将A [2]与A [3]比较, 依此类推。在第1遍结束时, 列表的最大元素位于列表的最高索引处。
- 在通道2中, 将A [0]与A [1]比较, 将A [1]与A [2]比较, 依此类推。在第2遍结束时, 列表的第二大元素位于列表的第二高索引处。
- 在通道n-1中, 将A [0]与A [1]比较, 将A [1]与A [2]比较, 依此类推。在此通行证的结尾。列表的最小元素位于列表的第一个索引处。
- 步骤1:对于i = 0到N-1, 重复步骤2
- 第2步:对J = i +1到N-I重复
- 步骤3:如果A [J]> A [i]交换A [J]和A [i] [内部循环结束] [外部循环结束
- 步骤4:退出
情境 | 复杂 |
---|---|
Space | O(1) |
最坏情况下的运行时间 | O(n2) |
平均案件运行时间 | O(n) |
最佳案例运行时间 | O(n2) |
#include<
stdio.h>
void main ()
{
int i, j, temp;
int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
for(i = 0;
i<
10;
i++)
{
for(j = i+1;
j<
10;
j++)
{
if(a[j] >
a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("Printing Sorted Element List ...\n");
for(i = 0;
i<
10;
i++)
{
printf("%d\n", a[i]);
}
}
输出:
Printing Sorted Element List . . .
7
9
10
12
23
34
34
44
78
101
C ++程序
#include<
iostream>
using namespace std;
int main ()
{
int i, j, temp;
int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
for(i = 0;
i<
10;
i++)
{
for(j = i+1;
j<
10;
j++)
{
if(a[j] <
a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
cout <
<
"Printing Sorted Element List ...\n";
for(i = 0;
i<
10;
i++)
{
cout <
<
a[i]<
<
"\n";
}
return 0;
}
【冒泡排序算法实现全解】输出:
Printing Sorted Element List ...
7
9
10
12
23
23
34
44
78
101
Java程序
public class BubbleSort {
public static void main(String[] args) {
int[] a = {10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
for(int i=0;
i<
10;
i++)
{
for (int j=0;
j<
10;
j++)
{
if(a[i]<
a[j])
{
int temp = a[i];
a[i]=a[j];
a[j] = temp;
}
}
}
System.out.println("Printing Sorted List ...");
for(int i=0;
i<
10;
i++)
{
System.out.println(a[i]);
}
}
}
输出:
Printing Sorted List . . .
7
9
10
12
23
34
34
44
78
101
C#程序
using System;
public class Program
{
public static void Main()
{
int i, j, temp;
int[] a = {10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
for(i = 0;
i<
10;
i++)
{
for(j = i+1;
j<
10;
j++)
{
if(a[j] >
a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
Console.WriteLine("Printing Sorted Element List ...\n");
for(i = 0;
i<
10;
i++)
{
Console.WriteLine(a[i]);
}
}
}
输出:
Printing Sorted Element List . . .
7
9
10
12
23
34
34
44
78
101
Python程序
a=[10, 9, 7, 101, 23, 44, 12, 78, 34, 23]
for i in range(0, len(a)):
for j in range(i+1, len(a)):
if a[j]<
a[i]:
temp = a[j]
a[j]=a[i]
a[i]=temp
print("Printing Sorted Element List...")
for i in a:
print(i)
输出:
Printing Sorted Element List . . .
7
9
10
12
23
34
34
44
78
101
休息计划
fn main()
{
let mut temp;
let mut a: [i32;
10] = [10, 9, 7, 101, 23, 44, 12, 78, 34, 23];
for i in 0..10
{
for j in (i+1)..10
{
if a[j] <
a[i]
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
println!("Printing Sorted Element List ...\n");
for i in &
a
{
println!("{} ", i);
}
}
输出:
Printing Sorted Element List . . .
7
9
10
12
23
34
34
44
78
101
4
JavaScript程序
<
html>
<
head>
<
title>
Bubble Sort
<
/title>
<
/head>
<
body>
<
script>
var a = [10, 9, 7, 101, 23, 44, 12, 78, 34, 23];
for(i=0;
i<
10;
i++)
{
for (j=0;
j<
10;
j++)
{
if(a[i]<
a[j])
{
temp = a[i];
a[i]=a[j];
a[j] = temp;
}
}
}
txt = "<
br>
";
document.writeln("Printing Sorted Element List ..."+txt);
for(i=0;
i<
10;
i++)
{
document.writeln(a[i]);
document.writeln(txt);
}
<
/script>
<
/body>
<
/html>
输出:
Printing Sorted Element List ...
7
9
10
12
23
23
34
44
78
101
PHP程序
<
html>
<
head>
<
title>
Bubble Sort<
/title>
<
/head>
<
body>
<
?php
$a = array(10, 9, 7, 101, 23, 44, 12, 78, 34, 23);
for($i=0;
$i<
10;
$i++)
{
for ($j=0;
$j<
10;
$j++)
{
if($a[$i]<
$a[$j])
{
$temp = $a[$i];
$a[$i]=$a[$j];
$a[$j] = $temp;
}
}
}
echo "Printing Sorted Element List ...\n";
for($i=0;
$i<
10;
$i++)
{
echo $a[$i];
echo "\n";
}
?>
<
/body>
<
/html>
输出:
Printing Sorted Element List ...
7
9
10
12
23
23
34
44
78
101
推荐阅读
- 桶排序算法实现
- 图遍历算法(广度优先搜索算法)
- 比并排序算法实现详解
- B树实现详细步骤解析
- B+树实现详细步骤解析
- 二叉树(binary tree)实现详解
- 二叉查找树(binary search tree)实现详解
- 二分法搜索算法实现详解
- AVL树详细实现