程序设计 排序程序(冒泡/插入/选择)

#include
#include
#define MAXSIZE 100 
 
 
typedef struct{
	int list[MAXSIZE];    //存放序列 
	int length;      //存放序列长度 
}SqList;

void menu()
{
	printf("=====================\n");
	printf("\n排序法:\n");
	printf("1.输出菜单\n");
	printf("2.输入待排序的序列\n");
	printf("3.冒泡排序法\n");
	printf("4.简单选择排序法\n");
	printf("5.直接插入排序法\n");
	printf("6.退出!\n");
	printf("=====================\n");
}

void CreateList(SqList &L,int n)   //创建序列 
{
	L.length = n;                 //将元素长度交给结构体中变量  后续就不再修改 
	for(int i=0;i0;i--)
	{		
		for(int j=0;jL.list[j+1])
			{
				x = L.list[j];
				L.list[j] = L.list[j+1];
				L.list[j+1] = x;
			}
	}
}

//选择排序法
//找到一个最小数,放在前面, 
void Select(SqList &L)
{
	int min=0,temp=0;
	for(int i=0;i=0;i--) //此循环将数组中元素下标调整为从1开始 
	{
		L.list[i+1] = L.list[i];		
	}
	for(int i=2;i<=L.length;i++)
	{
		if(L.list[i]

第一次从无到有的写了这样一个完整的程序,算式对基础知识的一次总结,收获很多,发出来是想作为一个成长记录,同时也希望能帮到有需要的同学,这里包含了三个排序算法:冒泡排序法,选择排序法,插入排序法.比较简单.

你可能感兴趣的:(算法,排序算法,c语言)