算法分析实验3蛮力法排序(共3页).doc
精选优质文档-倾情为你奉上实验三 蛮力法排序(四号黑体)【一】实验目的(小四黑体)1采用蛮力法实现序列排序;2分析各种方法的优缺点。【二】实验内容(小四黑体)1采用蛮力排序算法对序列排序;2编程实现选择排序与冒泡排序;3分析比较2种算法的时间复杂度;4试着改进冒泡排序,使算法在序列达到有序状态时停止运行。【三】实验步骤(代码、结果)(小四黑体)#include <stdio.h>#include <stdlib.h>#include <math.h>void SelectionSort(int a,int n) int i,j,t,temp; for(i=0; i<=n-2; i+) t=i; for(j=i+1; j<=n-1; j+) if(aj<at) t=j; temp=ai; ai=at; at=temp; void BubbleSort(int a,int n) int i,j,temp; for(i=0; i<=n-2; i+) for(j=0; j<=n-2-i; j+) if(aj+1<aj) temp=aj; aj=aj+1; aj+1=temp; void BubbleSort1(int a,int n) int falg=1; int i,temp; while(falg) falg=0; for(i=0;i<n;i+) if(ai+1<ai) temp=ai; ai=ai+1; ai+1=temp; falg=1; n-; void print(int a,int n) int i; for(i=0; i<n; i+) printf("%d ",ai); int main() printf("学号:Z 姓名:谭召n"); int a10= 10,20,15,17,13,9,5,4,2,7; /int a10= 1,2,3,4,5,6,7,8,9,1; SelectionSort(a,10); BubbleSort(a,10); BubbleSort1(a,10); print(a,10); return 0;【四】实验结果分析(小四黑体)选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将Li.n中最小者与Li交换位置。冒泡排序方法是最简单的排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。选择排序和冒泡排序的时间复杂度都是O(n2),但是选择排序不稳定,而冒泡排序稳定。专心-专注-专业