常见语言的冒泡排序算法

C

/*************************************************
 Function:       bubbleSort
 Description:    冒泡排序
 Calls:          无
 Table Accessed: 无
 Table Updated:  无
 Input:          intArr 整形数组,size 数组长度
 Output:         无
 Return:         void
 Others:         无
 *************************************************/
void bubbleSort(int * intArr, int size){
    for (int i=0; i<size; i++) {
        for (int j=i+1; j<size; j++) {
            if(intArr[j] < intArr[i])
            {
                int temp = intArr[i];
                intArr[i] = intArr[j];
                intArr[j] = temp;
            }
        }
    }
}

int main(int argc, char * argv[]){
    const int size = 10;
    int intArr[size] = {7,6,2,3,6,7,88,822,2,12};
    bubbleSort(intArr, size);
    for (int i = 0; i < size; i++) {
        printf("%d\n", intArr[i]);
    }
}

OBJECT-C

//
//  main.m
//  testObjectCCommand
//
//  Created by TangPing on 2017/12/22.
//  Copyright © 2017年 TangPing. All rights reserved.
//

#import <Foundation/Foundation.h>

void bubbleSort(int * intArr, int size){
    for (int i=0; i<size; i++) {
        for (int j=i+1; j<size; j++) {
            if(intArr[j] < intArr[i])
            {
                int temp = intArr[i];
                intArr[i] = intArr[j];
                intArr[j] = temp;
            }
        }
    }
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!\n");
        int size = 10;
        //7,6,2,3,6,7,88,822,2,12
        int intArr[] = {7,6,2,3,6,7,88,822,2,12};
        bubbleSort(intArr, size);
        for (int i = 0; i < size; i++) {
            printf("%d\n", intArr[i]);
        }
       
    }
    return 0;
}

C#

using System;

namespace testConsole
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            int[] data = { 7,6,2,3,6,7,88,822,2,12 };
            BubbleSort(ref data);
            foreach (int item in data)
            {
                Console.WriteLine(item);
            }

        }
        /// <summary>
        /// Bubbles the sort.
        /// </summary>
        /// <param name="intArr">Int arr.</param>
        private static void BubbleSort(ref int[] intArr)
        {
            for (int i = 0, count = intArr.Length; i < count;i++)
            {
                for (int j = i + 1; j < count;j++)
                {
                    if(intArr[j] < intArr[i])
                    {
                        int temp = intArr[i];
                        intArr[i] = intArr[j];
                        intArr[j] = temp;
                    }
                }
            }
        }

    }
}

java

/**
 * Created by tangping on 2017/12/22.
 */


public class testBubbleSort {
    /**
     * 入口函数
     * @param argc
     */

    public static void main(String argc[]){
        int data[] = {7,6,2,3,6,7,88,822,2,12};
        bubbleSort(data);
        for (int i = 0; i < data.length; i++) {
            System.out.println(data[i]);
        }

    }

    /**
     * 冒泡排序
     * @param intArr
     */

    private static void bubbleSort(int intArr[]){
        int size = intArr.length;
        for (int i=0; i<size; i++) {
            for (int j=i+1; j<size; j++) {
                if(intArr[j] < intArr[i])
                {
                    int temp = intArr[i];
                    intArr[i] = intArr[j];
                    intArr[j] = temp;
                }
            }
        }
    }
}

python

#!/usr/bin/env python
# -*- coding: utf-8 -*-

if __name__ == '__main__':

    data = [7, 6, 2, 3, 6, 7, 88, 822, 2, 12];

    for i in range(0, len(data)):
        for j in range(i+1, len(data)):
            if data[j] < data[i]:
                temp = data[j]
                data[j] = data[i]
                data[i] = temp

    for key,value in enumerate(data):
        print value

PHP

<?php
/**
 * Created by PhpStorm.
 * User: tangping
 * Date: 2017/12/23
 * Time: 上午12:32
 */


/**
 * 冒泡排序
 * @param array $intArr
 */

function bubbleSort(&$intArr = array()){
    for($i=0,$count=count($intArr);$i<$count;$i++){
        for($j=$i+1;$j<$count;$j++){
            if($intArr[$j] < $intArr[$i])
            {
                $temp = $intArr[$i];
                $intArr[$i] = $intArr[$j];
                $intArr[$j] = $temp;
            }
        }
    }
}

$data = [7,6,2,3,6,7,88,822,2,12];

bubbleSort($data);

array_walk($data, function ($item){
    echo "$item \n";
});

javascript

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

<script>

    var data = [7,6,2,3,6,7,88,822,2,12];

    for(var i=0,count=data.length;i<count;i++){
        for(var j=i+1;j<count;j++){
            if(data[j] < data[i]){
                var temp = data[j];
                data[j] = data[i];
                data[i] = temp;
            }
        }
    }

    for(var i in data){
        console.log(data[i]);
    }

</script>

Leave a Comment