数据结构与算法之冒泡排序
2015-01-16 18:38
281 查看
冒泡(起泡)排序是一种比较简单的基本排序,思想:假如我们对10个数进行从小到大排序。思路是将相邻的两个数比较,将小的调到前头,大的数字下沉。
设数组长度为N。
1、N个数排序,需要循环进行N-1趟排序。
2、每一趟的操作步骤:比较相邻的前后两个数据,如果前面数据大于后面的数据,就将两个数据交换。
3、在第 j 趟排序中要进行N - j 次两两比较。
#include<stdio.h>
void maopao(int array[],int n) //冒泡排序详解
{
int i,j,d;
int temp;
for(i=0;i<n-1;i++)
//总共进行了n-1趟排序
{
for(j=0;j<n-i-1;j++)
{
if(array[j]>array[j+1])//根据题意交换元素的位置
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
int main()
{
int i;
int array[]={3,1,15,11,89,5};
int size=sizeof(array)/sizeof(int);
//selectsort(array,size);
maopao(array,size);
for(i=0;i<size;i++)
printf("%5d",array[i]);
printf("\n");
return 0;
}
设数组长度为N。
1、N个数排序,需要循环进行N-1趟排序。
2、每一趟的操作步骤:比较相邻的前后两个数据,如果前面数据大于后面的数据,就将两个数据交换。
3、在第 j 趟排序中要进行N - j 次两两比较。
#include<stdio.h>
void maopao(int array[],int n) //冒泡排序详解
{
int i,j,d;
int temp;
for(i=0;i<n-1;i++)
//总共进行了n-1趟排序
{
for(j=0;j<n-i-1;j++)
{
if(array[j]>array[j+1])//根据题意交换元素的位置
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
int main()
{
int i;
int array[]={3,1,15,11,89,5};
int size=sizeof(array)/sizeof(int);
//selectsort(array,size);
maopao(array,size);
for(i=0;i<size;i++)
printf("%5d",array[i]);
printf("\n");
return 0;
}
相关文章推荐
- 【数据结构与算法】冒泡排序
- 【数据结构与算法 01】冒泡排序
- Python3 数据结构与算法之冒泡排序
- 【数据结构与算法】内部排序之二:冒泡排序和选择排序(改进优化,附完整源码)
- <二>java数据结构与算法 冒泡排序
- 数据结构与算法_冒泡排序
- 【数据结构与算法】冒泡排序
- 数据结构与算法之冒泡排序
- 数据结构与算法——冒泡排序、选择排序和快速排序
- 数据结构与算法——冒泡排序
- Java-数据结构与算法-选择排序与冒泡排序
- 数据结构与算法day2--冒泡排序
- 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)
- 【数据结构与算法】内部排序之二:冒泡排序和选择排序(改进优化,附完整源码)
- 【数据结构与算法】【排序】冒泡排序的代码实现
- 数据结构与算法学习——选择排序【使用上篇的冒泡排序】
- 数据结构基础算法整理归纳:冒泡排序(二)
- [置顶] 【javascript 数据结构与算法】javascript实现冒泡排序
- 【数据结构与算法】冒泡排序
- 【数据结构与算法】冒泡排序