多语言实现冒泡排序
Posted 问我平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多语言实现冒泡排序相关的知识,希望对你有一定的参考价值。
1、C++实现
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void swap(int *t1, int *t2)
{
int temp;
temp = *t1;
*t1 = *t2;
*t2 = temp;
}
int* BubbleSort(int arr[], int len)
{
int i, j;
for (i = 1; i < len -1; i++) {
for (j = 0; j < len -i; j++) {
if (arr[j] > arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
}
}
}
return arr;
}
int *NewBubblSort(int arr[], int len) {
bool bl;
int i, j;
for (i = 1; i < len -1; i++) {
bl = false;
for (j = 0; j < len -i; j++) {
if (arr[j] > arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
bl = true;
}
}
if(!bl) {
return arr;
}
}
return arr;
}
int main() {
int array[]={5,6,8,2,0,5,9,3};
int* aa = NewBubblSort(array, 8);
for (int i = 0; i < 8; i++) {
printf("%d\n", aa[i]);
}
return 0;
}
2、java 实现
import com.sun.prism.shader.Solid_TextureYV12_AlphaTest_Loader;
import java.util.Arrays;
class Sort {
public static int[] BubbleSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
for(int j = 0; j < arr.length -i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
public static int[] NewBubbleSort(int[] arr) {
boolean bl;
for (int i = 1; i < arr.length; i++) {
bl = false;
for(int j = 0; j < arr.length -i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
bl = true;
}
}
if (!bl) {
return arr;
}
}
return arr;
}
public static void main(String[] args) {
int []arr = {10, 1, 9, 3, 6};
System.out.println(Arrays.toString(NewBubbleSort(arr)));
}
}
3、python 实现
import json
from typing import Any, Dict, List, Optional, Union
# 冒泡排序(简化版冒泡排序)
def bubble_sort(array: List) -> List:
array_len = len(array)
for i in range(1, array_len):
for j in range(0, array_len - i):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
return array
# 优化版冒泡排序
def new_bubble_sort(array: List) -> List:
array_len = len(array)
for i in range(1, array_len):
status = False
for j in range(0, array_len - i):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
status = True
if not status:
return array
return array
array_ = [22, 3, 44, 112, 1, 442, 55, 33, 65]
sort_after_arr = new_bubble_sort(array_)
print(sort_after_arr)
4、go 实现
package main
import "fmt"
func BubbleSort(array []int) []int {
for i := 1; i < len(array); i++ {
for j := 0; j < len(array) -i; j++ {
if array[j] > array[j + 1] {
array[j], array[j + 1] = array[j + 1], array[j]
}
}
}
return array
}
func NewBubbleSort(array []int) []int {
var bl bool
for i := 1; i < len(array); i++ {
bl = false
for j := 0; j < len(array)-i; j++ {
if array[j] > array[j + 1]{
array[j], array[j + 1] = array[j + 1], array[j]
bl = true
}
}
if bl == true {
return array
}
}
return array
}
func main() {
var arr = []int{1, 10, 9, 2}
fmt.Println(NewBubbleSort(arr))
}
5、Node 实现
function BubbleSort(arrary){
for(var i = 1; i < arrary.length; i++) {
for (var j = 0; j <arrary.length - i; i ++) {
if (arrary[j] > arrary[j + 1]) {
tmp = arrary[j]
arrary[j] = arrary[j + 1]
arrary[j + 1] = tmp
}
}
}
return arrary
}
function NewBubbleSort(arrary){
var bl;
for(var i = 1; i < arrary.length; i++) {
bl = false
for (var j = 0; j <arrary.length - i; i ++) {
if (arrary[j] > arrary[j + 1]) {
tmp = arrary[j]
arrary[j] = arrary[j + 1]
arrary[j + 1] = tmp
bl = true
}
}
if (bl !== true) {
return arrary
}
}
return arrary
}
var arr = [2, 9, 3, 8 ,4, 10]
console.log(NewBubbleSort(arr))
以上是关于多语言实现冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章
在WinForm应用程序中快速实现多语言的处理--开发框架模块的整合
Android通过代码实现多语言切换createConfigurationContextattachBaseContextgetResourcesupdateConfiguration
Android通过代码实现多语言切换createConfigurationContextattachBaseContextgetResourcesupdateConfiguration