多语言实现冒泡排序

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))

以上是关于多语言实现冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

朴实无华,图解快排,多语言实现。(PS:还有宝藏资料)

朴实无华,图解快排,多语言实现。(PS:还有宝藏资料)

WPF中的多语言[关闭]

在WinForm应用程序中快速实现多语言的处理--开发框架模块的整合

Android通过代码实现多语言切换createConfigurationContextattachBaseContextgetResourcesupdateConfiguration

Android通过代码实现多语言切换createConfigurationContextattachBaseContextgetResourcesupdateConfiguration