C语言 冒泡排序 程序流程图,C语言冒泡排序及流程图(思路解析)
1、功能:冒泡排序
輸入:數組名稱(也就是數組首地址)、數組中元素個數
================================================ */
/*
==================================================== 算法思想簡單描述:
在要排序的一組數中,對當前還未排好序的范圍內的全部數,自上 而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較 小的往上冒。即:每當兩相鄰的數比較后發現它們的排序與排序要 求相反時,就將它們互換。
下面是一種改進的冒泡算法,它記錄了每一遍掃描后最后下沉數的 位置k,這樣可以減少外層循環掃描的次數。
冒泡排序是穩定的。算法時間復雜度O(n2)--[n的平方]
===================================================== */
void bubble_sort(int *x, int n)
{
int j, k, h, t;
for (h=n-1; h>0; h=k) /*循環到沒有比較范圍*/
{
for (j=0, k=0; j
if (*(x+j) > *(x+j+1)) /*大的放在后面,小的放到前面*/
{
t = *(x+j);
*(x+j) = *(x+j+1);
*(x+j+1) = t; /*完成交換*/
k = j; /*保存最后下沉的位置。這樣k后面的都是排序排好了的。*/ }
}
}
}
2
在要排序的一組數中,對當前還未排好序的范圍內的全部數,自上
而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較
總結
以上是生活随笔為你收集整理的C语言 冒泡排序 程序流程图,C语言冒泡排序及流程图(思路解析)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python导入模块的3种方式(超级详细
- 下一篇: 微博这样的软件怎么测试,新浪微博都盘上了