1樓:匿名使用者
1.排序演算法在實際中的應用當然也就是排序了。在實際應用當中比如資料統計等方面都會用到。
而且對一組資料進行排序也方便了後面對資料查詢的操作。要知道在一個有序陣列中查詢和在一個隨機無序陣列中的查詢的時間複雜度和系統消耗是有天壤之別的。
2.演算法複雜度其實是一個估計,也就是那個o(n)。首先o這個操作的定義為:
如果f(n)是正整數n的一個函式,則xn = o(f(n))表示存在一個正的常數m,使得當n大於等於某一個整數n0時都滿足xn小於等於m乘以f(n)。這個在演算法中的實際意義就是:
比如,執行一個排序演算法最多需要執行5n+7條命令(語句):最多表示在執行過程中迴圈被完整的執行,也就是比如迴圈條件從1-n,那麼這個迴圈最多就是可以執行n次。如果這個迴圈裡面有5條基本語句(遞增迴圈變數i++也包括在內),那麼就是5n條語句。
那麼根據上面o函式的定義,這個時候xn = 5n + 7。注意到當n大於等於7的時候5n+7小於等於6n,也就是說我們可以把6看成是m,n看成是f(n),於是我們可以說,這個演算法的時間複雜度是o(n)。對於其他的o(n^2), o(n log n)等等都是這個道理。
在計算總共執行的命令條數的時候要考慮「最壞」(從迴圈初始條件到迴圈最終條件,條件分支也要儘可能的考慮最多的情況)的可能性,然後每一條基本語句(比如一次賦值,一次比較等)都要計入
2樓:匿名使用者
用c++寫演算法卻不用模板是一大敗筆。
3樓:匿名使用者
參加比賽作弊你牛什麼
4樓:冰至誠
問作業也就罷了,比賽題目也來問就太過分了
氣泡排序法c++演算法
5樓:rf饒烽
//以下就是c++氣泡排序
int* bubblesort(int* ary, int length)}}
return ary;}
6樓:無數龍
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;改為:
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
7樓:匿名使用者
去掉"int n",因為陣列列數不能為變數
8樓:匿名使用者
建議形參中int n去掉,在函式裡面加上int n=strlen(a);
第一個迴圈for(i=0;i 第二個迴圈for(j=0;j 9樓: 第一個for迴圈改為:for(int i=0;i c++程式設計用函式模板實現排序演算法(氣泡排序、插入排序) 10樓:硪丨曖戀 #include using namespace std; template void bubble(t arr, int n)}for (i=0; i void insert(t arr, int n){//插入排序 int i,j,pos; t temp; for (i=0; i 11樓:張壯同學 #include using namespace std; template void bubble(t arr, int n)}for (i=0; icout << arr[i] << endl; }//從小到大排序 template void insert(t arr, int n)}temp = arr[i]; arr[i] = arr[pos]; arr[pos] = temp; }for (i=0; icout << arr[i] << endl; }int main() ;float f[7] = ; //bubble(i, 7); insert(i, 7); cout << endl; //bubble(f, 7); insert(f, 7); return 0;} 12樓:匿名使用者 void bubble_sort(int a, int n)}i++; }while(!bo);}冒泡 int insertsort(int r){for(int i=2;i<=n;i++){x=r[i];j=i-1; while(x include int main int i,j for i 0 i 10 i for i 0 i 10 i return 0 用氣泡排序法將陣列a 10 1,3,2,5,6,7,4,9,10,8 中的數進行從大到小進行排列,並輸出排好的陣列a 10 include int main i,j,t f... c 都幫你封裝好了 無腦呼叫sort函式就行了。c 中陣列的排序方法有哪些呢?除了氣泡排序 sort方法和reverse方法,c 還提供了許多其他的排序演算法和方法。下面對常用的排序方法進行簡要介紹 氣泡排序 bubble sort 氣泡排序是一種簡單的排序演算法,它通過比較兩個相鄰的元素,將較大的元素... include int main for i 0 i 9 i for i 0 i 10 i return 0 include int main else printf d n sec max return 0 include int main else for i 0 i 3 i return 0 ...c語言中用氣泡排序法排列下列數字從小到大1,3,
c 中使用陣列對數值進行排序(選擇排序法)?
c語言程式設計作業1冒泡法排序,2第二大整數