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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构源码笔记(C语言):二路归并排序

發布時間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构源码笔记(C语言):二路归并排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//實現二路歸并排序算法#include<stdio.h> #include<malloc.h> #define MAXE 20 //線性表中最多元素個數typedef int KeyType; typedef char InfoType[10];typedef struct //記錄類型 {KeyType key;//關鍵字項InfoType data; //其他數據項,類型為InfoType }RecType;void Merge(RecType r[],int low,int mid,int high)//按遞增有序進行直接插入排序 {//將兩個有序表r[low..mid],r[mid+1..high]歸并為一個有序表r[low...high]RecType *r1;int i=low,j=mid+1,k=0;//k是r1的下標,i,j分別為第1、2段的下標r1=(RecType *)malloc((high-low+1)*sizeof(RecType));//動態分配空間while(i<=mid &&j<=high)//在第一段、第二段均未掃描完時循環if(r[i].key<=r[j].key)//將第一段中的記錄放入r1中{r1[k]=r[i];i++;k++;}else//將第二段中的記錄放入r1中{r1[k]=r[j];j++;k++;}while(i<=mid) //將第一段余下部分復制到r1{r1[k]=r[i];i++;k++;}while(j<=high)//將第二段余下部分復制到r1{r1[k]=r[j];j++;k++;}for(k=0,i=low;i<=high;k++,i++)//將第二段余下部分復制到r中r[i]=r1[k]; }void MergePass(RecType r[],int length,int n)//實現一趟歸并 {int i;for(i=0;i+2*length-1<n;i=i+2*length)//歸并length長的相鄰子表Merge(r,i,i+length-1,i+2*length-1);if(i+length-1<n)//余下兩個子表,后者長度小于lengthMerge(r,i,i+length-1,n-1);//歸并這兩個子表 }void MergeSort(RecType r[],int n)//二路歸并排序算法 {//i用于累計歸并的趟數int length,k,i=1;for(length=1;length<n;length=2*length){MergePass(r,length,n);printf(" 第%d趟歸并: ",i++);//輸出每一趟的排序結果for(k=0;k<n;k++)printf("%4d",r[k].key);printf("\n");} }int main() {int i,k,n;KeyType a[]={88,78,68,58,48,38,27,16,15,14,13,12,11,10};n=sizeof(a)/4;RecType r[MAXE];for(i=0;i<n;i++)r[i].key=a[i];printf("初始關鍵字:");//輸出初始化關鍵字for(k=0;k<n;k++)printf("%4d",r[k].key);printf("\n");MergeSort(r,n);printf(" 最后結果:");//輸出最后關鍵字序列for(k=0;k<n;k++)printf("%4d",r[k].key);printf("\n\n");return 0; }

數據結構源碼筆記(C語言描述)匯總:

數據結構源碼筆記(C語言):英文單詞按字典序排序的基數排序

數據結構源碼筆記(C語言):直接插入排序

數據結構源碼筆記(C語言):直接選擇排序

數據結構源碼筆記(C語言):置換-選擇算法

數據結構源碼筆記(C語言):Huffman樹字符編碼

數據結構源碼筆記(C語言):Josephus問題之順序表

數據結構源碼筆記(C語言):Josephus問題之循環鏈接表

數據結構源碼筆記(C語言):多項式合并

數據結構源碼筆記(C語言):二叉樹之葉子結點旋轉銷毀

數據結構源碼筆記(C語言):哈夫曼樹

數據結構源碼筆記(C語言):集合的位向量表示

數據結構源碼筆記(C語言):鏈接隊列

數據結構源碼筆記(C語言):鏈接棧

數據結構源碼筆記(C語言):線性表的單鏈表示

數據結構源碼筆記(C語言):線性表的順序表示

數據結構源碼筆記(C語言):棧的基本操作

數據結構源碼筆記(C語言):中綴表達式

數據結構源碼筆記(C語言):希爾插入排序

數據結構源碼筆記(C語言):索引文件建立和查找

數據結構源碼筆記(C語言):冒泡排序

數據結構源碼筆記(C語言):快速排序

數據結構源碼筆記(C語言):可變長度字符串的快速排序

數據結構源碼筆記(C語言):基數排序

數據結構源碼筆記(C語言):二路歸并排序

數據結構源碼筆記(C語言):堆排序

數據結構源碼筆記(C語言):二叉樹搜索樹Kruskal

數據結構源碼筆記(C語言):二叉搜索樹Prim

數據結構源碼筆記(C語言):最短路徑弗洛伊德算法

數據結構源碼筆記(C語言):深度、廣度優先生成樹

數據結構源碼筆記(C語言):鄰接矩陣轉化鄰接表

數據結構源碼筆記(C語言):統計字符串中出現的字符及其次數

數據結構源碼筆記(C語言):順序查找

數據結構源碼筆記(C語言):哈希表的相關運算算法

數據結構源碼筆記(C語言):分塊法查找

數據結構源碼筆記(C語言):二分查找

數據結構源碼筆記(C語言):二叉樹遍歷

數據結構源碼筆記(C語言):二叉平衡樹的相關操作算法

數據結構源碼筆記(C語言):二叉排序樹的基本操作算法

數據結構源碼筆記(C語言):B樹的相關運算算法

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的数据结构源码笔记(C语言):二路归并排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲色图 欧美 | 日日夜夜爱 | 成人性生交大全免 | 美女国产视频 | 激情aaa | 国产精品夜夜爽张柏芝 | 免费网站污| 在线天堂中文在线资源网 | 四虎精品视频 | 天天躁日日躁狠狠很躁 | 香蕉视频免费在线观看 | 国产精品一级无码 | 一区二区三区日韩视频 | 亚欧洲精品在线视频 | 亚洲黄色影院 | 黄色福利片 | 欧美性69 | 欧美在线观看www | 免费av网站在线 | 欧美 日韩 视频 | 久久精品视频3 | 日本暧暧视频 | 人人干网站 | 国模无码一区二区三区 | 中文字幕无线精品亚洲乱码一区 | 欧美精品欧美极品欧美激情 | 美女免费黄视频 | 一本色道综合久久欧美日韩精品 | 日韩一二三区 | 国产一区二三区 | 色综合色婷婷 | av福利影院 | 国产一区视频在线免费观看 | 午夜精品福利一区二区三区蜜桃 | 日韩电影一区 | 九九九九久久久久 | 国产资源av| 伊人快播| 懂色av一区二区三区 | 亚洲黄色一区 | 激情综合网av| 久草手机在线 | 国产又爽又黄视频 | 亚洲国产精品久久久久爰性色 | 日韩精品在线观看视频 | 伦理片中文字幕 | 天天鲁一鲁摸一摸爽一爽 | 久久久久久国产视频 | 中日韩一级片 | 亚洲同性gay激情无套 | 亚洲在线一区二区三区 | 欧美福利视频 | 福利社午夜 | 邻居少妇张开双腿让我爽一夜 | 黑人又大又粗又长 | 亚洲精品少妇一区二区 | 国产一区二区视频在线免费观看 | 白嫩初高中害羞小美女 | 色综合福利| 欧美色图一区 | 波多野结衣中文字幕在线 | 在线观看高h | 亚洲精品电影院 | 国产成人三级一区二区在线观看一 | 日本黄色成人 | 肉丝超薄少妇一区二区三区 | 国产网站免费观看 | 性中文字幕 | 热播之家 | 日日夜夜添 | 亚洲国产精品一区二区三区 | 91看片网站| 欧美影视 | 黄色自拍视频 | 国产精品入口免费 | av在线免费观看一区 | 富二代成人短视频 | 免费av福利 | 亚洲一区国产精品 | 1000部啪啪未满十八勿入 | 女人18毛片水真多18精品 | 在线观看视频你懂得 | 亚洲丝袜在线视频 | 亚洲综合网址 | 青青草草视频 | 亚洲天堂网一区 | 久久精品黄 | 日本一区二区在线视频 | 久久国产精品精品国产 | 国产精品无码一本二本三本色 | 夜夜夜网 | 激情拍拍拍 | 巨乳女教师的诱惑 | 久久最新免费视频 | 日本久操 | 操皮视频 | 精品一区中文字幕 | 新婚之夜玷污岳丰满少妇在线观看 | 欧美性猛交xxxx乱大交3 |