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

📄 main.c

📁 数据结构课程设计报告,虽然好多地方都有
💻 C
字号:
#include <stdio.h>

#define MAXSIZE 10

typedef struct{
	int key;
	//int otherinfo;
}Array_node;


/*===============================================*/
//直接插入排序
/*===============================================*/
void Stin_Sort(Array_node temp[MAXSIZE])
{
	int j,i;
	for(i=2; i<MAXSIZE; i++)
	{
		//从temp[1]开始和temp[i]比较
		temp[0]=temp[i];
		j=i-1;
		while(temp[j].key > temp[0].key)
		{
			temp[j+1]=temp[j];
			j--;
		}
		//把循环出来的位置插入temp[0]
		temp[j+1]=temp[0];
	}

}


/*===============================================*/
//简单排序
/*===============================================*/
void Nomal_Sort(Array_node temp[MAXSIZE])
{
	int i,j;
	Array_node tmp;
	for(i=MAXSIZE-1; i>=1; i--)
	{
		for(j=1;j<i;j++)
		{
			if(temp[j].key>temp[j+1].key)
			{
				tmp=temp[j];
				temp[j]=temp[j+1];
				temp[j+1]=tmp;
			}
		}
	}
}


void Print_Array(Array_node temp[MAXSIZE])
{
	int i=1;
	for(;i<MAXSIZE;i++)
	{
		printf("%d\t",temp[i].key);
	}
	printf("\n");
}

main()
{
	int scan_switch,i=0,j=0;
	Array_node temp[MAXSIZE]={{0},{12},{23},{45},{9},{16},{88},{93},{13},{66}};
	Array_node print_back[MAXSIZE]={{0},{12},{23},{45},{9},{16},{88},{93},{13},{66}};

	while(1)
	{
		printf("1.直接插入排序\n");
		printf("2.简单选择排序\n");
		printf("3.显示原始顺序\n");
		printf("选择操作码:");
		scanf("%d",&scan_switch);
		switch(scan_switch)
		{
			case 1:
				{
					Stin_Sort(temp);
					for(i=1;i<MAXSIZE;i++)
						printf("%d\t",temp[i].key);
					printf("\n");
				}break;
			case 2:
				{
					Nomal_Sort(temp);
					for(i=1;i<MAXSIZE;i++)
						printf("%d\t",temp[i].key);
					printf("\n");
				}break;
			case 3:Print_Array(print_back);break;
		}
	}
}
	

⌨️ 快捷键说明

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