📄 双向冒泡排序二.txt
字号:
#include "stdio.h"
#include<iostream.h>
int count;
/************************************************/
/* 双向冒泡排序算法 */
/************************************************/
void bubble_a(int item[],int n)
{
int j,t,c;
int a,b;
a=0;b=n-1;
while(a<b) /* n-1趟的循环 */
{ c=1; /* 设置交换标志 */
for(j=a+1;j<=b;j++)/* n-1趟处理 */
{ count++;
if(item[j-1]>item[j])/* 若逆序,则 */
{ t=item[j-1]; /* 交换位置 */
item[j-1]=item[j];
item[j]=t;
c=0;
} /* 若有交换,则 */
} /* 改变交换标志 */
b=b-1;
if(a<=b-1)
{
for(j=b-1;j>=a;j--)/* n-1趟处理 */
{ count++;
if(item[j]>item[j+1]) /* 若逆序,则 */
{ t=item[j+1]; /* 交换位置 */
item[j+1]=item[j];
item[j]=t;
c=0;
} /* 若有交换,则 */
}
a=a+1;
}
if(c) break; /* 若没有交换,则 */
} /* 退出处理 */
}
void main()
{ int s[]={503,87,512,61,908,170,897,275,653,426},i;
int n;
n=10;
bubble_a(s,n); /* 调用选择排序函数 */
//bubble_a(s,n); /* 调用修改的选择排序函数 */
printf("The sorted string is: \n");
for(i=0;i<n;i++)
printf(" %d",s[i]);
printf("\n");
printf("count=%d\n",count);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -