C语言 实现两种排序方法
【摘要】 头文件:
函数原型:
void sortA1(int a[], int length); //选择排序void sortA2(int a[], int length); //冒泡排序void printA1(int a[], int length); //遍历数组 实现函数:void sortA1(int a[], int length){ int...
头文件:
函数原型:
-
void sortA1(int a[], int length); //选择排序
-
void sortA2(int a[], int length); //冒泡排序
-
void printA1(int a[], int length); //遍历数组
-
-
实现函数:
-
void sortA1(int a[], int length){
-
int i, j, temp;
-
for(i = 0; i <length; ++i){
-
for(j = i + 1; j < length; ++j){
-
if(a[j]< a[i]){ //如果后一个元素小于前一个元素则交换
-
temp = a[i];
-
a[i] = a[j];
-
a[j] = temp;
-
}
-
}
-
}
-
}
-
-
void printA1(int a[], int length){
-
int i;
-
for(i = 0; i <length; ++i){
-
printf("%d,", a[i]);
-
}
-
printf("\n");
-
}
-
void sortA2(int a[], int length){
-
int i, j, temp;
-
for(i = 0; i <length; ++i){
-
for(j = length - 1; j > i; --j){
-
if(a[j]> a[j - 1]){
-
temp = a[j];
-
a[j] = a[j - 1];
-
a[j - 1] = temp;
-
}
-
}
-
}
-
}
-
-
测试:
-
void main(){
-
-
int length = 0;
-
int a[] = {12, 43, 8, 50, 100, 52,0};
-
length = sizeof(a) / sizeof(a[0]);
-
printf("排序前\n");
-
printA1(a, length);
-
sortA1(a, length);
-
printf("选择排序后\n");
-
printA1(a, length);
-
sortA2(a, length);
-
printf("冒泡排序后\n");
-
printA1(a, length);
-
system("pause");
-
}
-
函数原型:
-
-
void sortA1(int a[], int length); //选择排序
-
void sortA2(int a[], int length); //冒泡排序
-
void printA1(int a[], int length); //遍历数组
-
-
实现函数:
-
void sortA1(int a[], int length){
-
int i, j, temp;
-
for(i = 0; i <length; ++i){
-
for(j = i + 1; j < length; ++j){
-
if(a[j]< a[i]){ //如果后一个元素小于前一个元素则交换
-
temp = a[i];
-
a[i] = a[j];
-
a[j] = temp;
-
}
-
}
-
}
-
}
-
-
void printA1(int a[], int length){
-
int i;
-
for(i = 0; i <length; ++i){
-
printf("%d,", a[i]);
-
}
-
printf("\n");
-
}
-
-
void sortA2(int a[], int length){
-
int i, j, temp;
-
for(i = 0; i <length; ++i){
-
for(j = length - 1; j > i; --j){
-
if(a[j]> a[j - 1]){
-
-
temp = a[j];
-
a[j] = a[j - 1];
-
a[j - 1] = temp;
-
}
-
}
-
}
-
}
-
-
测试:
-
void main(){
-
-
int length = 0;
-
int a[] = {12, 43, 8, 50, 100, 52,0};
-
length = sizeof(a) / sizeof(a[0]);
-
printf("排序前\n");
-
printA1(a, length);
-
sortA1(a, length);
-
printf("选择排序后\n");
-
printA1(a, length);
-
sortA2(a, length);
-
printf("冒泡排序后\n");
-
printA1(a, length);
-
system("pause");
-
}
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/76162447
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)