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

📄 11-3.c

📁 这些是数据结构结构的经典实现算法
💻 C
字号:
#include  < stdio.h>
#define n 100 //假设的文件长度,即待排序的记录数目
typedef int KeyType; //假设的关键字类型
typedef struct{ //记录类型
   	 	KeyType key; //关键字项
    	//其它数据项,类型InfoType依赖于具体应用而定义
}RecType;
typedef RecType SeqList[n+1];
//SeqList为顺序表类型,表中第0个单元一般用作哨兵
void BubbleSort(SeqList R)
{ //R(l..n)是待排序的文件,采用自下向上扫描,对R做冒泡排序
     		int i,j;
     		int exchange; //交换标志
     		for(i=1;i<n;i++){ //最多做n-1趟排序
       		exchange=0; //本趟排序开始前,交换标志应为假
       		for(j=n-1;j>=i;j--) //对当前无序区R[i..n]自下向上扫描
        			if(R[j+1].key<R[j].key){//交换记录
         				R[0]=R[j+1]; //R[0]不是哨兵,仅做暂存单元
          				R[j+1]=R[j];
          				R[j]=R[0];
          				exchange=1; //发生了交换,故将交换标志置为真
         			}
       		if(!exchange) //本趟排序未发生交换,提前终止算法
             		return;
     		} //endfor(外循环)
} //BubbleSort

void Initial(SeqList R)
{
	//初始化
}
void main()
{
	SeqList R;
	Initial(R);
	BubbleSort(R);
}

⌨️ 快捷键说明

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