排序与冒泡排序,本段代码子函数,正序的形式验证
C语言代码如下:(本段代码需要指针知识,读者需要请私信,可以手把手进行简单模式教学)
#include <stdio.h>
int choose(int *pb) //简单选择排序
{
int i;
int j;
int temp;
for(i=0;i<4;i++){
for(j=i+1;j<5;j++){
if(*(pb+i)>*(pb+j)){
temp=*(pb+j);
*(pb+j)=*(pb+i);
*(pb+i)=temp;
}
}
}
}
int maopao(int *pc) //冒泡排序
{
int i;
int j;
int temp;
for(i=0;i<4;i++){
for(j=0;j<4-i;j++){
if(pc[j]>pc[j+1]){
temp=pc[j+1];
pc[j+1]=pc[j];
pc[j]=temp;
}
}
}
}
int main()
{
int a[5];
int i;
int *pa;
pa = a;
puts("请输入5个元素");
for(i=0;i<5;i++){
scanf("%d",pa+i);
}
choose(a);
puts("简单选择排序输出结果如下:");
for(i=0;i<5;i++){
printf("%d ",*(pa+i));
}
putchar('\n');
maopao(a);
puts("冒泡排序的输出结果如下:");
for(i=0;i<5;i++){
printf("%d ",*(pa+i));
}
putchar('\n');
return 0;
}