码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法——冒泡排序

时间:2018-06-26 11:15:30      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:1.0   import   算法   []   __name__   highlight   .com   shu   turn   

一、C 程序实现

/*******************************************************
* Description: 冒泡排序算法
* Author: shujuxiong
* Version: 1.0
* Time: 2018-06-25
*******************************************************/

#include <stdio.h>

//函数:打印数组
void PrintDataArray(int a[], int n)
{
    for(int i=0; i<n; i++)
        printf("%d ",a[i]);
    printf("\n");
}

//冒泡排序
void BubbleSort(int a[], int n)
{
    //每次将未排序部分的最大值冒泡至数组末尾
    for(int i=0; i<n; i++)
        for(int j=1; j<n-i; j++)
            if(a[j]<a[j-1])
            {
                int tmp = a[j];
                a[j] = a[j-1];
                a[j-1] = tmp;
            }
    PrintDataArray(a, n);
}


//测试用例
int main()
{
    int a[] = {3,1,7,5,2,4,9,6};
    int len = sizeof(a)/sizeof(a[0]);
    BubbleSort(a, len);

    return 0;
}

运行结果:

技术分享图片

 

二、Java 程序实现

/**
 * @description: 冒泡排序算法
 * @author: shujuxiong
 * @version: 1.0
 * @date: 2018-06-26
 */
public class BubbleSort {
	public static void sort(int[] a)
	{
		int N = a.length;
		
		//每次将未排序部分的最大值冒泡至数组末尾
		for(int i=0; i<N; i++)
			for(int j=1; j<N-i; j++)
				if(a[j]<a[j-1])
				{
					int tmp = a[j];
					a[j] = a[j-1];
					a[j-1] = tmp;
				}		
	}
	
	
	//方法:打印数组
	private static void printDataArray(int[] a)
	{
		int N = a.length;
		for(int i = 0; i < N; i++)
			System.out.printf("%d ",a[i]);
		System.out.printf("\n");
	}
		
		
	//测试用例
	public static void main(String[] args)
	{
		int[] arr = {3,1,7,5,2,4,9,6};		
		sort(arr);
		printDataArray(arr);
	}		

}

运行结果:

技术分享图片

三、Python 程序实现

# -*- coding: utf-8 -*-
"""
Description: 冒泡排序算法
Author: shujuxiong
Version: 1.0
Date: 2018-06-25
"""

import copy


def bubbleSort(relist):
    N = len(relist)
    #每次将未排序部分的最大值冒泡至数组末尾
    for i in range(N):
        for j in range(1,N-i):
            if relist[j]<relist[j-1]:
                tmp = relist[j]
                relist[j] = relist[j-1];
                relist[j-1] = tmp
    
    return relist


##测序用例
def main():
    mylist = [3,1,7,5,2,4,9,6]
    print(bubbleSort(copy.copy(mylist)))


if __name__==‘__main__‘:
    main() 

运行结果:

技术分享图片

排序算法——冒泡排序

标签:1.0   import   算法   []   __name__   highlight   .com   shu   turn   

原文地址:https://www.cnblogs.com/shujuxiong/p/9227070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!