日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搜索引擎排序DEMO

發(fā)布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搜索引擎排序DEMO 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

搜索引擎排序DEMO

#include<stdio.h>int lookarr(int* arr, int arrSize) {for (int i = 0; i < arrSize; i++) {printf("%d, ", arr[i]);}printf("\n"); }int lookarr2(int** arr, int arrSize) {printf("======\n");for (int i = 0; i < 6; i++) {for (int j = 0; j < 3; j++) {printf("%d ,", arr[i][j]);}printf("\n");}printf("======\n"); } int SelectSort(int* arr, int arrSize, int order) {int i, j;int temp;for (i = 0; i < arrSize; i++) {for (j = i + 1; j < arrSize; j++) {if ((arr[i] - arr[j]) * order > 0) {temp = arr[i];arr[i] = arr[j];arr[j] = temp;lookarr(arr, arrSize);}}} }int SelectSort2(int** arr, int arrSize, int order1, int order2) {int i, j;int count = 0;int *temp = (int *)malloc(sizeof(int) * 2);for (i = 0; i < arrSize; i++) {for (j = i + 1; j < arrSize; j++) {if ((arr[i][0] - arr[j][0]) * order1 > 0) {memcpy(temp, arr[i], sizeof(int) * 2);memcpy(arr[i], arr[j], sizeof(int) * 2);memcpy(arr[j], temp, sizeof(int) * 2);printf("count = %d\n", ++count);lookarr2(arr, arrSize);}else if ((arr[i][0] - arr[j][0]) * order1 == 0) {if ((arr[i][1] - arr[j][1]) * order2 > 0) {memcpy(temp, arr[i], sizeof(int) * 2);memcpy(arr[i], arr[j], sizeof(int) * 2);memcpy(arr[j], temp, sizeof(int) * 2);printf("count = %d\n", ++count);lookarr2(arr, arrSize);}}}} }int sort_cmp(int *a, int *b, int **orderby, int depth) {int sort_index = orderby[depth][0];if (orderby[depth][1] != 0)return (a[sort_index] - b[sort_index]) * orderby[depth][1];elsereturn 0; }int sort_arr_index(int* a, int* b, int* temp, int size) {memcpy(temp, a, sizeof(int) * size);memcpy(a, b, sizeof(int) * size);memcpy(b, temp, sizeof(int) * size); }void sort_func(int **arr, int i, int j, int **orderby, int *temp, int *count, int arrSize, int depth, int orderbySize) {if (sort_cmp(arr[i], arr[j], orderby, depth) > 0) {sort_arr_index(arr[i], arr[j], temp, 3);printf("count = %d\n", ++(*count));lookarr2(arr, arrSize);}else if (sort_cmp(arr[i], arr[j], orderby, depth) == 0) {if (orderbySize <= depth)return;sort_func(arr, i, j, orderby, temp, count, arrSize, depth + 1, orderbySize);}return; } int SelectSort2order(int** arr, int arrSize, int **orderby, int orderbySize) {int i, j;int count = 0;int* temp = (int*)malloc(sizeof(int) * 2);//入口要動態(tài)申請的,這里先寫2.int si[2] = { orderby[0][0], orderby[1][0] };printf("sort_index = %d, %d\n", si[0], si[1]);int order[5] = { 0 };order[0] = orderby[0][1];order[1] = orderby[1][1];for (i = 0; i < arrSize; i++) {for (j = i + 1; j < arrSize; j++) {if (sort_cmp(arr[i], arr[j], orderby, 0) > 0) {sort_arr_index(arr[i], arr[j], temp, 2);printf("count = %d\n", ++count);lookarr2(arr, arrSize);}else if (sort_cmp(arr[i], arr[j], orderby, 0) == 0) {if (sort_cmp(arr[i], arr[j], orderby, 1) > 0) {sort_arr_index(arr[i], arr[j], temp, 2);printf("count = %d\n", ++count);lookarr2(arr, arrSize);}else if (sort_cmp(arr[i], arr[j], orderby, 1) == 0) {// continue;// break;}}}}return 0; }void SelectSort2digui(int** arr, int arrSize, int** orderby, int orderbySize) {int i, j;int count = 0;int* temp = (int*)malloc(sizeof(int) * 3);int depth = 0;for (i = 0; i < arrSize; i++) {for (j = i + 1; j < arrSize; j++) {sort_func(arr, i, j, orderby, temp,&count, arrSize, depth, orderbySize);}} } int testSelectSort() {int arr[][3] = { {9, 4, 4}, {9, 1, 5}, {8, 7, 7}, {8, 1, 9}, {8, 5, 5}, {8, 5, 4} };int** pparr = (int**)malloc(sizeof(int*) * 6);for (int i = 0; i < 6; i++) {pparr[i] = (int*)malloc(sizeof(int) * 3);memcpy(pparr[i], arr[i], sizeof(arr[i]));}int orderByArr[3][2] = { {2, 1}, {1, 1}, {0, 1} };int **orderby = (int**)malloc(sizeof(int*) * 3);for (int i = 0; i < 3; i++) {orderby[i] = (int*)malloc(sizeof(int) * 2);memcpy(orderby[i], orderByArr[i], sizeof(orderByArr[i]));}for (int i = 0; i < 3; i++) {for (int j = 0; j < 2; j++) {printf("%d ,", orderby[i][j]);}printf("%\n");}// SelectSort2(pparr, 6, -1, 1);// SelectSort2order(pparr, 6, orderby, 2);SelectSort2digui(pparr, 6, orderby, 3); }

總結(jié)

以上是生活随笔為你收集整理的搜索引擎排序DEMO的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。