《排序算法 数据结构试验》由会员分享,可在线阅读,更多相关《排序算法 数据结构试验(12页珍藏版)》请在金锄头文库上搜索。
1、#include #include #include #include #include #include #include#define MAXSIZE 12000 typedef int KeyType; typedef struct KeyType key;/关键字项 /OtherType other;/* 其他项 */ DataType;/* 数据元素类型 */ typedef struct DataType rMAXSIZE +1;/* r0闲置或充当哨兵 */ int length;/* 顺序表长度 */ SqList;/* 顺序表类型 */函数声明: void straighti
2、nsert(SqList *s); void QuickSort(SqList *s,int low,int high); void HeapSort(SqList *s); void Randnumber(DataType r,int count); void runinsert(SqList *s); void runquick(SqList *s); void runheap(SqList *s); SqList* init1(); SqList* init2();void main() SqList *s1=NULL,*p1=NULL,*q1=NULL,*s2=NULL,*p2=NUL
3、L,*q2=NULL; int i;p1=init1();printf(“直接插入排序后的排序:“);straightinsert(p1); for(i=1;ilength;i+) printf(“%d “,p1-ri.key); printf(“n“);q1=init1();printf(“快速排序后的排序:“);QuickSort(q1,1,q1-length); for(i=1;ilength;i+) printf(“%d “,q1-ri.key); printf(“n“);s1=init1();printf(“堆排序后的排序:“);HeapSort(s1); for(i=1;ileng
4、th;i+) printf(“%d “,s1-ri.key); printf(“n“);for(i=1;ilength); printf(“输入待排序的关键字:“); for(i=1;ilength;i+) scanf(“%d“, return s; SqList* init2() SqList *s; s=(SqList*)malloc(sizeof(SqList);printf(“随机取数的个数:“); scanf(“%d“, Randnumber(s-r,s-length); return s; /直接插入算法: void straightinsert(SqList *s) int i,
5、j; for(i=2;ilength;i+) s-r0=s-ri;j=i-1; while(s-r0.keyrj.key) s-rj+1=s-rj; j-; s-rj+1=s-r0; /快速排序算法: int QuickSort1 (SqList *s, int low, int high) /一趟快速排序算法 KeyType pivotkey;s-r0=s-rlow; pivotkey=s-rlow.key; while(lowrhigh.key=pivotkey) high-; s-rlow=s-rhigh; while (lowrlow.keyrhigh=s-rlow; s-rlow=s
6、-r0; return low; void QuickSort(SqList *S,int low,int high)/*递归形式的完整快速排序*/ int pivotloc; if(lowrnm中的记录关键字除 rn外均满足堆的定义,本函数将对第 n 个结点为根 的子树筛选,使其成为大顶堆*/ int i, j;DataType rc;rc=S-rn; i=n; for(j=2*i;jrj.keyrj+1.key)j=j+1; if(rc.keyS-rj.key) break; S-ri=S-rj; i=j; S-ri=rc; void HeapSort(SqList *S) int i;
7、DataType t; for(i=S-length/2;i0;i-) /从第一个分支节点开始建堆 /* 将 r1.length建成堆 */ HeapAdjust(S,i,S-length); for(i=S-length;i1;i-) t=S-r1; S-r1=S-ri;S-ri=t; HeapAdjust(S,1,i-1); /随机取数的算法:void Randnumber(DataType r,int count) /count 为随机取数的个数,返回类型为动态数组的指针 int i; /double *p=nwe doublecount; srand(time(NULL); for(i
8、=0;ilength);/运行的程序QueryPerformanceCounter( /输出运行时间(单位:s) cout “快速排序运行时间(单位:s):“ (double)( EndTime.QuadPart - BegainTime.QuadPart )/ Frequency.QuadPart endl;/system(“pause“) ;/堆排序运行时间的的算法:void runheap(SqList *s) LARGE_INTEGER BegainTime ; LARGE_INTEGER EndTime ; LARGE_INTEGER Frequency ; QueryPerform
9、anceFrequency(/精确时钟函数 QueryPerformanceCounter( void HeapSort(SqList *s);/运行的程序QueryPerformanceCounter( /输出运行时间(单位:s) cout “堆排序运行时间(单位:s):“ (double)( EndTime.QuadPart - BegainTime.QuadPart )/ Frequency.QuadPart endl;/ system(“pause“) ;适应角色转变,扎实开展团的工作适应角色转变,扎实开展团的工作共青团铁东区委书记的述职报告2011 年是适应角色转变、思想进一步成熟的
10、一年。这一年,自己能够坚持正确的政治方向,紧紧围绕党的中心,立足本职岗位,较好地完成本线的工作任务。自己政治觉悟、理论水平、思想素质、工作作风等各方面有了明显的进步和提高。总的来说,收获很大,感触颇深。一、以德一、以德为为先,先,进进一步提升个人思想素一步提升个人思想素质质过去的一年,我以一个共产党员的标准,以一个团干部的标准严格要求自己,在个人的道德修养、党性锻炼、思想素质上有了很大的进步。一是道德修养进一步提高。作为一个团干部,我的一言一行、我的自身形象将直接影响到团委各成员,甚至更广大的青少年。因此,在日常的工作和生活中,我每时每刻提醒自己,从小事做起,注重细节问题,做到干净做人、公正做
11、事,以平常心看待自己的工作,要求自己在工作中诚实、守信、廉洁、自律,起好表率作用。二是党性锻炼得到不断加强。不断加强自己的党性锻炼,我严格按照党章和中国共产党党员纪律处分条例来要求和约束自己的行为,牢记党的宗旨,在团的工作中,以广大青少年的权益为出发点,务求时效。三是政治思想素质不断提高。一年来,我继续加强学习,积极参加理论中心组学习,经常自发利用休息时间学习,积极参加团省委组织赴井冈山革命传统与理想信念教育专题培训班、区委区政府组织赴清华大学县域经济培训班,通过“看、听、学、思”,进一步加深了对马列主义、毛泽东思想、邓小平理论、 “三个代表”重要思想的理解,进一步系统掌握了党在农村的路线、方
12、针、政策以及对共青团工作的要求。特别是党的十七届六中全会以来,我通过学习原文、听专家讲课等,开拓了思想新境界,政治思想素质有了新的飞跃。二、以能二、以能为为先,先,进进一步加一步加强组织强组织工作能力工作能力在上级领导的信任和支持下,我本人也自加压力,抓住一切机会学习,注重与同事、与兄弟单位团委书记的交流,虚心请教,不耻下问,使各项工作都有序地开展。一是工作的统筹安排能力不断加强。我尽量做到工作提前一步,有计划、有安排、有预见性,保持思路清晰和决策的科学,力求操作有序,顺利开展。二是工作的协调能力不断加强。在工作中,我注重与上级的及时衔接、汇报,同时也注重与基层的交流沟通,听取多方意见和建议,
13、从大局出发,对上做好配合,对下做好团结。三是有创新地开展工作。在工作中,我注重不断创新,使工作保持生机,使管理不断趋向人性化、合理化。三、以勤三、以勤为为先,先,进进一步提高一步提高团团的的业务业务水平水平担任团委书记以来,认真了解情况、掌握知识,积极向团委领导、向前任书记学习、请教,了解团情、团史,努力掌握团的基本运作方式程序,便于更好地开展工作。加强沟通了解,增加感情,深入基层,了解基层团组织和团员青年的有关情况,以“活动”来强化自己的知识和水平。一年来,我立足以活动来促使自己尽快适应角色,迎接挑战。今年五四,团区委以全区人居环境整治为依托,以“五四火炬传承九十二载生生不息,铁东青年投入人
14、居环境立志强区”为引领,积极开展了“共青团路,红领巾街”, “铁东青年林”等一系列活动。在活动中,增长了知识,深化了理解,使自己对团务工作有了全面的、系统的提高,为今后更好地提高团的业务水平打下了坚实的基础。四、以四、以绩为绩为先,先,进进一步完善一步完善团团的的组织组织建建设设把关于进一步深化“党建带团建”工作的实施意见落到实处,把党的要求贯彻落实到团的建设中去,使团的建设纳入党的建设的总体规划。依托党建,从政策层面来解决和落实基层团组织存在的问题和困难。一是基层团干部的待遇问题。积极争取党组织在团干部配备上的重视和支持,基层团干“转业”得到了很好的安排(叶赫的荣威,住建局遇良,卫生局王国宴
15、等);二是解决好基层团组织活动的经费问题。积极争取专项,今年为每个乡镇街道从团省委争取经费三千元,共计三万六千元;三是团的基层组织格局创新工作。按照“14N”模式,通过换届调整选配了大批乡镇(街道)团干部,变原有的“团干部兼职”模式为现在的“兼职团干部”模式,提升了基层团组织的凝聚力和战斗力。此次工作得到了团市委的充分认可,2011 年四平市组织部班工作会议在我区召开。以服务青年需求为目的,从单一组织青年开展活动转到生产环节,开展就业培训、创业交流、贫富结对;以服务党政中心为目的,发挥团组织自身优势,引导青年树立市场意识和投资意识,强化科技意识和参与意识,投身知识化、信息化和现代化、文明创建、环境整治、植绿护绿、社会治安等活动,把党政思路实践好。突出做好当前新兴的农村、社区和非公经济组织建团工作,延长团的工作手臂,丰富团的组织形式。先后与农联社、吉林银行等多家金融机构积极协调,为青年创业就业提供帮扶支持。特别是吉林银行的“吉青时代”小额贷款项目更得到团省委的无偿贴息。五、以廉五、以廉为为先,先,进进一步保持清正廉明形象一步保持清正廉明形象作为新任职的年