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

📄 5-1.c

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

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

#include"sort.h"
long cin;
	
int main()
{
	int i, t=7;
	int b[]={0, 150, 150, 150, 150, 150, 150, 150};
	int d[MAX/10], numOfD, temp;
	DataType a[MAX], atemp[MAX];
	srand((unsigned) time(NULL));
	
	while(t)
	{
		for(i = 0; i <b[t]; i++)
		a[i].key=rand();
		
		for(i = 0; i < b[t]; i++)
		printf("%d ", a[i].key);
		printf("\n");
		printf("Number: %d\n",t);
		
		cin=0;
		for(i = 0; i < b[t]; i++)
		atemp[i]=a[i];
		
		InsertSort(atemp, b[t]);  //插入排序 
		printf("InsertSort:\t%ld\n",cin);
		
		cin=0;
		switch(t)
		{
			case 7:
				numOfD = 2;
				temp=1;
				for(i = 0; i < numOfD; i++)
				{
					d[i] = temp;
					temp += 2;
				}
				break;
			case 6:
				numOfD = 3;
				temp=1;
				for(i = 0; i < numOfD; i++)
				{
					d[i]=temp;
					temp += 3;
				}
				break;
			case 5:
				numOfD = 5;
				temp=1;
				for(i = 0; i < numOfD; i++)
				{
					d[i]=temp;
					temp += 3;
				}
				break;
			case 4:
				numOfD = 8;
				temp=1;
				for(i = 0; i < numOfD; i++)
				{
					d[i]=temp;
					temp += 3;
				}
				break;
			case 3:
				numOfD = 10;
				temp=1;
				for(i = 0; i < numOfD; i++)
				{
					d[i]=temp;
					temp += 3;
				}
				break;
			case 2:
				numOfD = 12;
				temp=1;
				for(i = 0; i < numOfD; i++)
				{
					d[i]=temp;
					temp += 3;
				}
				break;
			case 1:
				numOfD = 15;
				temp=1;
				for(i = 0; i < numOfD; i++)
				{
					d[i]=temp;
					temp += 3;
				}
				break;
			default: printf("error!\n");
		}
		for(i = 0; i < b[t]; i++)
		atemp[i]=a[i];
		ShellSort( atemp, b[t], d, numOfD);  //希尔排序   
		printf("ShellSort:\t%ld\n",cin);
		
		cin=0;
		SelectSort( atemp,  b[t]); //选择排序  
		printf("SelectSort:\t%ld\n",cin);
		
		cin=0;
		for(i = 0; i < b[t]; i++)
		atemp[i]=a[i];
		HeapSort( atemp,  b[t]);  //堆排序 
		printf("HeapSort:\t%ld\n",cin);
		
		cin=0;
		for(i = 0; i < b[t]; i++)
		atemp[i]=a[i];
		Bubble( atemp,  b[t]);  //冒泡排序  
		printf("BubbleSort:\t%ld\n",cin);
		
		cin=0;
		for(i = 0; i < b[t]; i++)
		atemp[i]=a[i];
		QuickSort( atemp, 0, b[t]-1);  //快速排序  
		printf("QuickSort:\t%ld\n",cin);
		
		cin=0;
		for(i = 0; i < b[t]; i++)
		atemp[i]=a[i];
		MergeSort( atemp,  b[t]);  //归并排序 
		printf("MergeSort:\t%ld\n",cin);
		
		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);
		
		t--;
		getchar();
	}
	return 0;
}
		

⌨️ 快捷键说明

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