📄 main.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 + -