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

📄 5-2.c

📁 《数据结构-使用C语言》第三版
💻 C
字号:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define MAX 200
#define MaxQueueSize 200
typedef struct
{
	int key;
}DataType;

#include"sort.h"
long cin, c;
	
int main()
{
	int i, b;
	int d[MAX/10], numOfD, temp;
	DataType a[MAX], atemp[MAX];
	srand((unsigned) time(NULL));
	printf("第一列为移动次数, 第二列为比较次数\n"); 
	while(1)
	{
		printf("\n请输入要比较的数据个数:");
		scanf("%d",&b);
		if(b==0)break;
		
		for(i = 0; i <b; i++)
		a[i].key=rand()%1000;
		
		/*for(i = 0; i < b; i++)
		printf("%8.d", a[i].key);
		printf("\n");*/
		
		cin=0;
		c=0;
		for(i = 0; i < b; i++)
		atemp[i]=a[i];
		
		InsertSort(atemp, b);  //插入排序 
		printf("InsertSort:\t%ld %ld\n",cin, c);
		
		cin=0;
		c=0;
		numOfD = 15;
		temp=1;
		for(i = 0; i < numOfD; i++)
		{
			d[i]=temp;
			temp += 5;
		}
		for(i = 0; i < b; i++)
		atemp[i]=a[i];
		ShellSort( atemp, b, d, numOfD);  //希尔排序   
		printf("ShellSort:\t%ld %ld\n",cin, c);
		
		cin=0;
		c=0;
		SelectSort( atemp,  b); //选择排序  
		printf("SelectSort:\t%ld %ld\n",cin, c);
		
		cin=0;
		c=0;
		for(i = 0; i < b; i++)
		atemp[i]=a[i];
		HeapSort( atemp,  b);  //堆排序 
		printf("HeapSort:\t%ld %ld\n",cin, c);
		
		cin=0;
		c=0;
		for(i = 0; i < b; i++)
		atemp[i]=a[i];
		Bubble( atemp,  b);  //冒泡排序  
		printf("BubbleSort:\t%ld %ld\n",cin, c);
		
		cin=0;
		c=0;
		for(i = 0; i < b; i++)
		atemp[i]=a[i];
		QuickSort( atemp, 0, b-1);  //快速排序  
		printf("QuickSort:\t%ld %ld\n",cin, c);
		
		cin=0;
		c=0;
		for(i = 0; i < b; i++)
		atemp[i]=a[i];
		MergeSort( atemp,  b);  //归并排序 
		printf("MergeSort:\t%ld %ld\n",cin, c);
		
		/*cin=0;
		for(i = 0; i < b[t]; i++)
		atemp[i]=a[i];
		RadixSort( atemp,  b[t],  5, 10);  //基数排序 
		printf("RadixSort:\t%ld\n",cin);*/

		getchar();
	}
	return 0;
}
		

⌨️ 快捷键说明

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