随笔分类 -  006-数组排序

归并排序和快速排序【二分法】【资料来自网络】
摘要:下面资料来源:http://blog.csdn.net/chenhuajie123/article/details/9296359归并排序的定义归并排序算法采用的是分治算法,即把两个(或两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,每个子序列都是有序的,然后把有序子序列合并成整体有序序列,这个过程也称为2-路归并.注意:归并排序的一种稳定排序,即相等元素的顺序不会改变.归并排序的原理常见的排序主要有两种,一种是先把待排序的序列一次分割,使子序列的长度减小至1,然后在合并,另外一种是把待排序两两分组排序然后在合并,具体过程用图来解释:(1) 先分割再合并待排序序列(14 阅读全文

posted @ 2014-01-22 18:05 华山青竹 阅读(1855) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-分配病房
摘要:/*=====================================分配病房总时间限制: 1000ms 内存限制: 65536kB描述某个科室的病房分为重症和普通,只有当病人的疾病严重程度超过了入住重症病房的最低严重值,才可以安排入住重症病房。 现在要求设计一个程序,给病人安排好病房。疾病的严重程度用0到10来表示,0表示小毛病,10表示非常严重。输入第一行输入病人的个数m(m struct person{ int no;//病人的编号 float num;//病人病情严重程度 };int main(){ struct person p[55];//表示重症病人的... 阅读全文

posted @ 2013-12-21 17:25 华山青竹 阅读(1595) 评论(1) 推荐(1) 编辑

OpenJudge-计算点的距离并排序
摘要:/*=====================================距离排序总时间限制: 1000ms 内存限制: 65536kB描述给出三维空间中的n个点(不超过10个),求出n个点两两之间的距离,并按距离由大到小依次输出两个点的坐标及它们之间的距离。输入输入包括两行,第一行包含一个整数n表示点的个数,第二行包含每个点的坐标(坐标都是整数)。点的坐标的范围是0到100,输入数据中不存在坐标相同的点。输出对于大小为n的输入数据,输出n*(n-1)/2行格式如下的距离信息:(x1,y1,z1)-(x2,y2,z2)=距离其中距离保留到数点后面2位。(用cout输出时保留到小数点后2位的 阅读全文

posted @ 2013-12-14 18:38 华山青竹 阅读(777) 评论(0) 推荐(0) 编辑

Openjudge计算概论-奇数单增序列
摘要:/*=====================================奇数单增序列总时间限制: 1000ms 内存限制: 65536kB描述给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按增序输出。输入共2行第1行为 N第2行为 N 个正整数,其间用空格间隔。输出增序输出的奇数序列,数据之间以逗号间隔。样例输入101 3 2 6 5 4 9 8 7 10样例输出1,3,5,7,9======================================*/解析:输入,排序,输出。其实输入时可以只保存奇数。#includeint main(){ int ... 阅读全文

posted @ 2013-12-14 18:36 华山青竹 阅读(1388) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-整数奇偶排序
摘要:/*=====================================整数奇偶排序总时间限制: 1000ms 内存限制: 65536kB描述输入10个整数,彼此以空格分隔重新排序以后输出(也按空格分隔),要求:1.先输出其中的奇数,并按从大到小排列;2.然后输出其中的偶数,并按从小到大排列。输入任意排序的10个整数(0~100),彼此以空格分隔输出按照要求排序后输出,由空格分隔样例输入4 7 3 13 11 12 0 47 34 98样例输出47 13 11 7 3 0 4 12 34 98提示1. 测试数据可能有很多组,请使用while(cin>>a[0]>> 阅读全文

posted @ 2013-12-08 17:01 华山青竹 阅读(793) 评论(1) 推荐(0) 编辑

openJudge计算概论-谁考了第k名
摘要:/*=====================================谁考了第k名总时间限制: 1000ms 内存限制: 65536kB描述在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。输入第一行有两个整数,学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。输出输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)样例输入5 390788001 67.890788002 90.390788003 6190788004 68.4 阅读全文

posted @ 2013-12-08 16:55 华山青竹 阅读(2312) 评论(0) 推荐(0) 编辑

[NOIp 1998 提高组]Probelm 2 连接多位数【2011百度实习生笔试题】
摘要:/*======================================================================[NOIp 1998 提高组]Probelm 2 连接多位数总时间限制: 10000ms 内存限制: 65536kB描述设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613输入第一行:n接下来的N行:n个数输出联接成的多位数样例输入313312343样例输出3433213[问题分 阅读全文

posted @ 2013-12-08 11:30 华山青竹 阅读(821) 评论(0) 推荐(1) 编辑

二分查找【转】
摘要:来源:http://blog.csdn.net/q3498233/article/details/4419285递归int BinSearch(int Array[],int low,int high,int key/*要找的值*/){ if (lowArray[mid]) return BinSearch(Array,mid+1,high,key); } else return -1;}非递归:int BinSearch(int Array[],int SizeOfArray,int key/*要找的值*/){ int low=0,... 阅读全文

posted @ 2013-12-05 17:32 华山青竹 阅读(420) 评论(0) 推荐(0) 编辑

wikioi 1076 排序 【这里含冒泡、选择、插入以及快排库函数的调用】
摘要:/*===================================================================1076 排序 题目描述 Description 给出n和n个整数,希望你从小到大给他们排序输入描述 Input Description 第一行一个正整数n 第二行n个用空格隔开的整数输出描述 Output Description 输出仅一行,从小到大输出n个用空格隔开的整数样例输入 Sample Input 3 3 1 2样例输出 Sample Output 1 2 3数据范围及提示 Data Size & Hin... 阅读全文

posted @ 2013-12-04 17:41 华山青竹 阅读(448) 评论(0) 推荐(0) 编辑

wikioi 1075 明明的随机数
摘要:/*============================================================1075 明明的随机数题目描述 Description 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入描述 Input Description 有2行,第1行为1个正整数,表示所生成的随机数的N个... 阅读全文

posted @ 2013-12-04 17:39 华山青竹 阅读(2325) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-中位数
摘要:/*==============================================================中位数总时间限制: 2000ms 内存限制: 65536kB描述中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均值(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个数为偶数,则中位数是位于中间位置的两个数的平均值).给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)输入该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1 int ma 阅读全文

posted @ 2013-11-30 00:41 华山青竹 阅读(708) 评论(0) 推荐(0) 编辑

OpenJudge数据结构与算法-计算点的距离并排序
摘要:/*==================================================================距离排序总时间限制: 1000ms 内存限制: 65536kB描述给出三维空间中的n个点(不超过10个),求出n个点两两之间的距离,并按距离由大到小依次输出两个点的坐标及它们之间的距离。输入输入包括两行,第一行包含一个整数n表示点的个数,第二行包含每个点的坐标(坐标都是整数)。点的坐标的范围是0到100,输入数据中不存在坐标相同的点。输出对于大小为n的输入数据,输出n*(n-1)/2行格式如下的距离信息:(x1,y1,z1)-(x2,y2,z2)=距离其中距离 阅读全文

posted @ 2013-11-29 20:50 华山青竹 阅读(615) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-找出第k大的数
摘要:/*================================================找出第k大的数总时间限制: 1000ms 内存限制: 1000kB描述用户输入N和K,然后接着输入N个正整数(无序的),程序在不对N个整数排序的情况下,找出第K大的数。注意,第K大的数意味着从大到小排在第K位的数。并且,要求大家编写这个程序要用到自定义的函数。输入NKa1 a2 a3 a4 ..... aN输出b样例输入5232 3 12 5 89样例输出32解析:对每一个数,找一找有多少个数比他大,如果有0个数比他大,那他就是第1,如果有1个数比他大,那么他就是第2。那么关系就明确了,如果有n 阅读全文

posted @ 2013-11-28 23:47 华山青竹 阅读(1185) 评论(0) 推荐(0) 编辑

OpenJudge-计算点的距离并排序
摘要:/*=====================================================================距离排序总时间限制: 1000ms 内存限制: 65536kB描述给出三维空间中的n个点(不超过10个),求出n个点两两之间的距离,并按距离由大到小依次输出两... 阅读全文

posted @ 2013-11-28 23:11 华山青竹 阅读(593) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-细菌实验分组
摘要:/*====================================================细菌实验分组总时间限制: 1000ms 内存限制: 65536kB描述有一种细菌分为A、B两个亚种,它们的外在特征几乎完全相同,仅仅在繁殖能力上有显著差别,A亚种繁殖能力非常强,B亚种的繁殖能力很弱。在一次为时一个 小时的细菌繁殖实验中,实验员由于疏忽把细菌培养皿搞乱了,请你编写一个程序,根据实验结果,把两个亚种的培养皿重新分成两组。输入 输入有多行,第一行为整数n(n≤100),表示有n个培养皿。 其余n行,每行有三个整数,分别代表培养皿编号,试验前细菌数量,试验后细菌数量。输出 输出 阅读全文

posted @ 2013-11-22 11:16 华山青竹 阅读(1380) 评论(1) 推荐(0) 编辑

OpenJudge计算概论-奇偶排序
摘要:/* 总时间限制: 1000ms 内存限制: 65536kB描述 输入十个整数,将十个整数按升序排列输出,并且奇数在前,偶数在后。输入 输入十个整数输出 按照奇偶排序好的十个整数样例输入 10 9 8 7 6 5 4 3 2 1样例输出 1 3 5 7 9 2 4 6 8 10提示 先排序,再分别输 阅读全文

posted @ 2013-11-22 01:23 华山青竹 阅读(501) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示