MergeSort
来源:互联网 发布:linux 小数比较大小 编辑:程序博客网 时间:2024/05/01 16:57
#define N 7#define SIZE 20#include<stdio.h>struct RcdType{int key;int ord;};struct SqList{RcdType data[SIZE];int length;};void Merge(RcdType SR[],RcdType TR[],int i,int m,int t){int j=m+1;int k=i;while(i<=m&&j<=t){if(SR[i].key<SR[j].key)TR[k]=SR[i++];else TR[k]=SR[j++];k++;}while(i<=m) TR[k++]=SR[i++];while(j<=t) TR[k++]=SR[j++];}void MSort(RcdType SR[],RcdType TR[],int s,int t){if(s==t) TR[s]=SR[s];else{RcdType TR1[SIZE];int m=(s+t)/2;MSort(SR,TR1,s,m);MSort(SR,TR1,m+1,t);Merge(TR1,TR,s,m,t);}}void MergeSort(SqList &l){MSort(l.data,l.data,1,l.length);}void Print(SqList l){for(int i=1;i<=l.length;i++){printf("%3d%3d",l.data[i].key,l.data[i].ord);}printf("\n");}void main(){int i,j;RcdType d[N]={{49,1},{38,2},{65,3},{97,4},{76,5},{13,6},{27,7}};SqList l;for(i=1;i<=N;i++)l.data[i]=d[i-1];l.length=N;Print(l);MergeSort(l);Print(l);}
0 0
- MergeSort
- mergesort
- MergeSort
- mergesort
- mergesort
- Mergesort
- mergesort
- mergeSort
- mergeSort
- mergesort
- MergeSort
- MergeSort
- MergeSort
- MergeSort
- Mergesort
- Mergesort
- mergeSort
- mergesort
- Linux下Binder驱动源码(linux-3.0.86)
- SAE新浪云实现定时任务
- NSAttributedString用法
- Activtiy完全解析(二、layout的inflate过程)
- ubuntu 14.04 安装设置nfs服务,好让单板挂载使用
- MergeSort
- ubuntu下mysql常用操作
- java存储数据
- 修改pptp vpn的默认端口
- 判断xml,json,数组
- 又学一招——删除windows服务
- 30. Substring with Concatenation of All Words 找出包含所有字典中词的开头
- Codeforces Round #323 (Div. 1)-B. Once Again...
- gradle 构建错误:Unsupported major.minor version 52.0 解决办法