Java版本
/*************************************************************************
> File Name: BubbleSort.java
> Author: lxm
> Created Time: 2016年04月27日 星期三 19时24分50秒
************************************************************************/
public class BubbleSort
{
public static final int N = 10
public static void main(String[] args)
{
int[] a = {6,1,2,7,9,3,4,5,10,8}
bubbleSort(a)
printArray(a)
}
public static void printArray(int[] a)
{
for(int item : a)
{
System.out.printf("%d\t",item)
}
System.out.println()
}
public static void bubbleSort(int[] a)
{
int len = a.length
boolean flag = true
for(int i=0
{
flag = false
for(int j=0
{
if(a[j]>a[j+1])
{
swap(a,j,j+1)
flag = true
}
}
}
}
public static void swap(int[] a,int m, int n)
{
a[m] ^= a[n]
a[n] ^= a[m]
a[m] ^= a[n]
}
}
C版本
/*************************************************************************
> File Name: bubbleSort.c
> Author: lxm
> Created Time: 2016年04月27日 星期三 19时10分36秒
************************************************************************/
void bubbleSort(int* a, int n)
void printArray(int* a, int n)
void swap(int *a,int *b)
int main(void)
{
int a[] = {6,1,2,7,9,3,4,5,10,8}
bubbleSort(a,N)
printArray(a,N)
}
void bubbleSort(int* a, int n)
{
int i,j
int flag = 1
for(i=0
{
flag = 0
for(j=0
{
if(a[j]>a[j+1])
{
swap(&a[j],&a[j+1])
flag = 1
}
}
}
}
void printArray(int* a, int n)
{
int i
for(i=0
{
printf("%d\t",a[i])
}
printf("\n")
}
void swap(int *a,int *b)
{
*a ^= *b
*b ^= *a
*a ^= *b
}