冒泡排序算法代码是什么?
导读:收集整理的这篇文章主要介绍了冒泡排序算法代码是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。冒泡排序算法代码是什么?冒泡排序算法代码是:void vbubbleSort(int arr[], int len { int i,...
收集整理的这篇文章主要介绍了冒泡排序算法代码是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。冒泡排序算法代码是什么?
冒泡排序算法代码是:
void vbubbleSort(int arr[], int len){
int i, j, temp;
for (j = 0;
j len - 1;
j++){
//每次最大元素就像气泡一样"浮"到数组的最后 for (i = 0;
i len - 1 - j;
i++){
//依次比较相邻的两个元素,使较大的那个向后移 if(arr[i] >
arr[i + 1]){
//交换两个数 temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
}
void vBubbleSortChange(int arr[], int len){
int i,j,temp;
int swapPEd = 1;
for (j = 0;
swapped;
j++){
//每次最大元素就像气泡一样"浮"到数组的最后 swapped = 0;
for (i = 0;
i len - 1 - j;
i++){
//依次比较相邻的两个元素,使较大的那个向后移 if(arr[i] >
arr[i + 1]){
//交换两个数 temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
swapped = 1;
}
}
// if( swapped == 0) {
j = len-1;
}
//如果没有元素交换,说明序列是顺序的,退出循环 }
}
void vCockTailSort(int arr[],int len){
int tmp,i,left=0,right = len-1;
while(left right){
for(i=left;
iright;
i++){
//正向冒泡,确定最大值 if(arr[i]>
arr[i+1]){
tmp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = tmp;
}
}
right--;
for(i=right;
i>
left;
i--){
//反向冒泡,确定最小值 if(arr[i]arr[i-1]){
tmp = arr[i];
arr[i] = arr[i-1];
arr[i-1] = tmp;
}
}
left++;
}
}
void vCockTailSortChange(int arr[],int len){
int tmp,i,left=0,right = len-1;
int swapped = 1;
int bound = 0;
//记录某趟遍历的最后一次交换元素的位置,优化减少循环次数 while(swapped){
//如果没有元素交换,说明序列是顺序的 swapped = 0;
for(i=left;
iright;
i++){
//正向冒泡,确定最大值 if(arr[i]>
arr[i+1]){
tmp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = tmp;
swapped = 1;
bound = i;
}
}
right=bound;
//缩小遍历边界 for(i=right;
i>
left;
i--){
//反向冒泡,确定最小值 if(arr[i]arr[i-1]){
tmp = arr[i];
arr[i] = arr[i-1];
arr[i-1] = tmp;
swapped = 1;
bound = i;
}
}
left=bound;
//缩小遍历边界 }
}
推荐教程:《c语言视频教程》
以上就是冒泡排序算法代码是什么?的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 冒泡排序算法代码是什么?
本文地址: https://pptw.com/jishu/594337.html
