a program a day 21(ds,bubble sort)
2010-10-17 00:42
375 查看
/**
*bubble Sort
**/
#define keyType int
#include<stdio.h>
//base bubble sort
int bubbleSort(keyType array[],int n)
{
keyType tmp;
for(int i = 1;i <= n-1;i++)
{
for(int j = 0;j < n-i;j++)
{
if(array[j] > array[j+1])
{
tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
}
}
}
return 0;
}
//advanced bubble sort
int adBubSort(keyType array[],int n)
{
keyType tmp;
int tag = 1;
for(int i = 1;i <= n-1 && 1 == tag;i++)// if tag is not set then the array is already orderly.
{
tag = 0;
for(int j = 0;j < n-i;j++)
{
if(array[j] > array[j+1])
{
tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
tag = 1;
}
}
}
return 0;
}
int main()
{
keyType arr[10] = {6,4,72,10,4,51,23,100,47,0};
printf("the array before sorted is :\n");
for(int i = 0;i < 10;i++)
printf("%d ",arr[i]);
adBubSort(arr,10);
printf("\nthe result of insertion sorting is :\n");
for(int j = 0;j < 10;j++)
printf("%d ",arr[j]);
printf("\n");
return 0;
}
*bubble Sort
**/
#define keyType int
#include<stdio.h>
//base bubble sort
int bubbleSort(keyType array[],int n)
{
keyType tmp;
for(int i = 1;i <= n-1;i++)
{
for(int j = 0;j < n-i;j++)
{
if(array[j] > array[j+1])
{
tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
}
}
}
return 0;
}
//advanced bubble sort
int adBubSort(keyType array[],int n)
{
keyType tmp;
int tag = 1;
for(int i = 1;i <= n-1 && 1 == tag;i++)// if tag is not set then the array is already orderly.
{
tag = 0;
for(int j = 0;j < n-i;j++)
{
if(array[j] > array[j+1])
{
tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
tag = 1;
}
}
}
return 0;
}
int main()
{
keyType arr[10] = {6,4,72,10,4,51,23,100,47,0};
printf("the array before sorted is :\n");
for(int i = 0;i < 10;i++)
printf("%d ",arr[i]);
adBubSort(arr,10);
printf("\nthe result of insertion sorting is :\n");
for(int j = 0;j < 10;j++)
printf("%d ",arr[j]);
printf("\n");
return 0;
}
相关文章推荐
- a program a day 25(ds,quick sort)
- a program a day 19(ds,binary search)
- a program a day 20(ds,straight insertion sort)
- a program a day 22 (ds,selection sort)
- a program a day 23 (ds,shell's sort)
- a program a day 10
- Java day 20-21
- Learn Emacs in 21 Days: day 3 学习笔记
- Day 21:Docker 入门教程
- One-day-one-program(2)之1至100之间的素数的求法
- One-day-one-program(3)之统计字符串中不同字母的个数
- a program a day 5
- [DS][3-21]Implement two stacking using only one array
- Day 21 字节流和字符流
- Program Day by Day, and make progress everyday——写于Program Day by Day之始
- a program a day 11
- Learn Emacs in 21 Days: day 1 学习笔记
- Program Day by Day
- Python-day-21
- 1.8DS trouble day