⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch07_25.c

📁 C语言开发入门与编程实践 源码文件
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>

void bubble (int *);   /*声明气泡排序函数*/
void showdata (int *); /*声明打印数组函数*/
int main()
{
	int data[6]={4,6,2,7,8,9};	  /*打印排序的原始数据*/
	printf("改良冒泡排序法\n原始数据为:");
	showdata (data);
	bubble (data);
	system("pause");
	return 0;
}
void showdata (int data[])     /*利用循环打印数据*/
{
	int i;
	for (i=0;i<6;i++)
		printf("%3d",data[i]);
	printf("\n");
}
void bubble (int data[])
{
	int i,j,tmp,flag;
	for(i=5;i>=0;i--)
	{
		flag=0;           /*flag用来判断是否有执行交换的动作*/
		for (j=0;j<i;j++)
		{
			if (data[j+1]>data[j])
			{
				tmp=data[j];
				data[j]=data[j+1];
				data[j+1]=tmp;
				flag++;    /*如果有执行过交换,则flag不为0*/
			}
		}
		if (flag==0)
			break;
		/*
		当执行完一次扫描就判断是否交换,如果没有交换过数据
		,表示此时数组已完成排序,故可直接跳出循环*/
		printf("第 %d 次排序:",6-i);
		for (j=0;j<6;j++)
			printf("%3d",data[j]);
		printf("\n");		    
	}
	printf("最后排序结果为:");
	showdata (data);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -