#include
void selectsort(int r, int n);
int main() ;
selectsort(text, 10);
printf("公升序:");
for (i = 0; i < 10; i++)
printf("\n");
getchar();
return1;}
void selectsort(int text, int n)
if (index != i) }}
#includevoid bubblesort(int
text, int n);
int main() ;
bubblesort(text, 10);
printf("公升序:");
for (i = 0; i < 10; i++)
printf("\n");
getchar();
}void bubblesort(int
text,int n) }}
}
#includevoid bubblesort(int
text, int n);
int main() ;
bubblesort(text, 10);
printf("公升序:");
for (i = 0; i < 10; i++)
printf("\n");
getchar();
return1;}
void bubblesort(int
text, int n)}}
}
氣泡排序2的時間複雜度:
比較次數:
; for (j = 0; j < 10; j++) }}
printf("降序:");
for (i = 0; i < 10; i++)
printf("\n");
for (j = 0; j < 10; j++) }}
printf("公升序:");
for (i = 0; i < 10; i++)
printf("\n");
getchar();
return
1;}屬於分治策略中的一種排序演算法
宣告:**為:
}時間複雜度:
時間複雜度=拆分(int m = (s + e) / 2)+解決問題(兩個遞迴語句:2t(1/2n))+合併(n)。
其中拆分時間規模為乙個常數,故可忽略不計,則有:2t(n/2)+n。
tn=
if (it[i];
t[i] = t[j];
t[j] = temp;
i++;
}while (j>i&&t[j] >= t[i])
if (j>i)
}return i;
}void quicksort(int t,int s,int e)
}void main();
quicksort(t,0,8);
for(int t=0;t<9;t++)時間複雜度
最好情況:每次劃分對乙個記錄定位後,該記錄的左側子串行與右側的長度相同,時間複雜度同歸並排序,為:
t(n)=2*t(n/2)+n,即o(nlog2n)
最壞情況:待排序為正序或者逆序,每次劃分只得到乙個比上一次劃分少乙個記錄的子串行,此時,必須經過n-1次遞迴才能把所有記錄定位,而且第i趟劃分需要經過n-i次才能找到第i個記錄的位置,所以時間複雜度為:
∑n
−1i=
1 ∑i=
1n−1
(n-i)=1/2*n*(n-1)=o(n^2)
排序演算法 排序演算法彙總
排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...
排序演算法 排序演算法彙總
排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...
排序演算法 排序演算法彙總
排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...