蒙古文政务网站建设工作汇报,温泉网站建设,wordpress主页与文章页,支付集成文件放在网站哪里冒泡排序#xff08;Bubble Sort#xff09; 是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列#xff0c;依次比较两个相邻的元素#xff0c;如果顺序#xff08;如从大到小、首字母从Z到A#xff09;错误就把他们交换过来。走访元素的工作是重复…冒泡排序Bubble Sort 是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列依次比较两个相邻的元素如果顺序如从大到小、首字母从Z到A错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换也就是说该元素列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端升序或降序排列就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样故名“冒泡排序”。
#includeiostream
using namespace std;
void bubble_sort(int* a,int n)
{for (int i 0; i n-1; i)//轮数{for (int j 0; j n - i - 1; j)//每轮进行比较的次数{if (a[j] a[j 1]){swap(a[j], a[j 1]);}}}
}
void main()
{int a[10]{ 3,6,4,2,11,10,5 };bubble_sort(a, 7);for (int i 0; i 7; i){cout a[i] ;}
}当然冒泡排序也可以进一步优化
#includeiostream
using namespace std;
void bubble_sort(int* a,int n)
{for (int i 0; i n-1; i)//轮数{int flag 0;//记录是否进行交换的标志位for (int j 0; j n - i - 1; j)//每轮进行比较的次数{if (a[j] a[j 1]){swap(a[j], a[j 1]);flag 1;}}if (flag 0)//如果一轮没有交换则说明该序列已经是升序{break;}}
}
void main()
{int a[10]{ 3,6,4,2,11,10,5 };bubble_sort(a, 7);for (int i 0; i 7; i){cout a[i] ;}
}