,选择,插入,冒泡排序,显示每次递归结果

#include <stdio.h>
#include <stdlib.h>
//交换函数
void Swap(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
//冒泡排序
void BubbleSort(int a[],int n)
{
int count=1;
for(int i=n-1;i>0;i–)
{
for(int j=0;j<i;j++)
if(a[j]>a[j+1])
Swap(&a[j],&a[j+1]);
printf("[%d]",count++);
for(int i=0;i<n;i++)
printf("%-4d",a[i]);
printf("\n");
}
}在这里插入图片描述
//选择排序
void SelectionSort(int a[],int n)
{
int count=1;
for(int i=0;i<n-1;i++)
{
int k=i;
for(int j=i+1;j<n;j++)
if(a[j]<a[k])
k=j;
if(k!=i)
Swap(&a[i],&a[k]);
printf("[%d]",count++);
for(int i=0;i<n;i++)
printf("%-4d",a[i]);
printf("\n");

}
//for(int i=0;i<n;i++)
//printf("%-4d",a[i]);
//printf("\n");

}在这里插入图片描述
//插入排序
void InsertionSort(int a[],int n)
{
int count=1;
for(int i=0;i<n;i++)
{
for(int j=i;j>0;j–)
if(a[j]<a[j-1])
Swap(&a[j],&a[j-1]);
printf("[%d]",count++);
for(int i=0;i<n;i++)
printf("%-4d",a[i]);
printf("\n");
}
/for(int i=0;i<n;i++)
printf("%-4d",a[i]);
printf("\n");
/
}在这里插入图片描述
void main()
{
int a[10];
int choice;
int n;
printf(“请输入数据个数;\n”);
scanf("%d",&n);
printf(“请输入数据:\n”);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
do{
printf(“请选择排序方式:\n”);
printf(“1.选择排序 2.插入排序\n”);
printf(“3.冒泡排序 \n”);
scanf("%d",&choice);

switch(choice)
{
case 1:
	SelectionSort(a,n);
	break;
case 2:
	InsertionSort(a,n);
		break;
case 3:
	BubbleSort(a,n);
	break;
}
}while(choice!=1||choice!=2||choice!=3);
system("pause");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值