📄 冒泡排序.txt
字号:
Espate studio
--------------------------------------------------------------------------------
冒泡排序
基本思想:
对当前还未排好序的范围内的全部结点,自上而下对相邻的两个结点依次进行比较和调整,让键值较大的结点往下沉,键值较小的结点往上冒。即当两相邻结点比较后发现他们的排列顺序与排序要求相反,就将他们交换
参考程序
假设一个数组e[n],n为元素个数,冒泡排序如下:
void maopao(int e[],int n)
{
int i,j,k;
for(i=n-1;i>0;i--)
for(j=0;j<i;j++)
{
if (e[j]>e[j+1])
{
k=e[j];
e[j]=e[j+1];
e[j+1]=k;
}
}
}
模拟:设e[5]={2,5,3,1,0}
变化如下:
2,5,3,1,0
2,3,5,1,0
2,3,1,5,0
2,3,1,0,5
2,1,3,0,5
2,1,0,3,5
1,2,0,3,5
1,0,2,3,5
0,1,2,3,5
程序的改进:
void maopao(int e[],int n)
{
int i,j,k,p;
for(i=n-1;i>0;i=p)
for(p=j=0;j<i;j++)
{
if (e[j]>e[j+1])
{
k=e[j];
e[j]=e[j+1];
e[j+1]=k;
p=j;
}
}
}
读者可自行模拟
adiwei
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -