c语言一维数组基本排序方法

c语言中数组的排序

今天介绍排序中的两种基本方法:选择法和冒泡法。
选择法:
c语言一维数组基本排序方法_第1张图片
选择第一个数字和后面的四个进行比较,如后面的小进行数字交换,否则不做运算。以此类推,到第四个数字和第五个数字比较结束。
代码如下:
c语言一维数组基本排序方法_第2张图片
运行结果:
c语言一维数组基本排序方法_第3张图片

冒泡法
int str[8]={38,11,9,28,2,56,10,2};
int i,j;
int tmp;
for(i=0;i<8-1;i++){
for(j=0;j<7-i;j++){
if(str[j]>str[j+1]){
tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}
}

第1次冒泡排序结果:3,2,1,4(红色字体固定,下次不用再参加排序)
第2次冒泡排序结果:2,1,3,4(红色字体固定,下次不用再参加排序)
第3次冒泡排序结果:1,2,3,4(红色字体固定,下次不用再参加排序)
经过3次冒泡排序已经完成了排序。因为第3次中“2"已经固定,下次不用再参加排序。那“1”不再有相邻的值与它排序比较,则排序结束。数组长度为4,只需要循环比较3次即可。

你可能感兴趣的:(c语言一维数组基本排序方法)