算法:冒泡排序法(C语言与JavaScript语言)

    xiaoxiao2022-07-07  141

    算法之冒泡排序

    代码实现一维数组的冒泡排序并进行粗略计时

    计时是全代码执行时间,不是算法的。 C语言

    #include <stdio.h> #include <time.h> void visitArray(int array[]) { int i; for (i = 0; i < 20; i++) { printf("%d ", array[i]); } printf("\n"); } int main() { // 计时准备 clock_t start, stop; start = clock(); int array[20] = { 20, 7, 1, 12, 6, 9, 26, 33, 13, 47 , 88, 17, 1, 12, 6, 9, 26, 63, 72, 47}; printf("排序前的数组:\n"); visitArray(array); int i, j ,temp; for (i = 0; i < 20; i++) { for (j = 19; j > i; j--) { if (array[j] < array[j - 1]) { temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; } } } printf("排序后的数组:\n"); visitArray(array); printf("消耗时间:\n"); stop = clock(); double duration = (double)(stop - start) / CLOCKS_PER_SEC; printf("%f\n", duration); // 防止控制台消失 getchar(); return 0; }

    C程序2毫秒 JavaScript

    function visit (array) { var str = ""; for (var i = 0; i < array.length; i++) { str += array[i] + " "; } console.log(str); } var date1 = new Date(); var start = date1.getTime(); var array = [20, 7, 1, 12, 6, 9, 26, 33, 13, 47 , 88, 17, 1, 12, 6, 9, 26, 63, 72, 47]; console.log("排序前的数组:"); visit(array); var temp; for (var i = 0; i < 20; i++) { for (var j = 19; j > i; j--) { if (array[j] < array[j - 1]) { temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; } } } console.log("排序后的数组:"); visit(array); var date2 = new Date(); var stop = date2.getTime(); var duration = stop - start; console.log("消耗时间:" + duration);

    JavaScript 用了 5 个毫秒 实际上我这么计时一点也不严谨。 但是,重点是算法嘛,计时不重要,嘿嘿。O(∩_∩)O~~

    O(∩_∩)O~~

    最新回复(0)