#2395
展开↯#2396
作者:广西南宁市
人类自诞生开始,无论是凿木取火还是制造武器,都是在不断的解决问题。 所以说,人类的进步就是一个不断解决问题的过程。
文章:一位普通美国民众对转基因的疑问 发表时间:2016-07-14, 16:01:19
#2398
作者:广西南宁市
任何时代,人民都是被统治的基本因子。人民者,平时出力,战时卖命。崔永元概括曰:“用你当炮灰时,你是无畏的英勇战士。用你创造财富时,你是勤奋的劳动人民。用你当统治基础时,你是光荣的领导阶级。剥夺你的所有财富时,你是乐于奉献的无产者。分享社会财富时,你是体制外的闲杂人员。进行‘义务教育时’,你是非本地户籍暂住人口。疯狂维稳时,你是社会各类不安定因素。”其又谓黎民庶民、子民蒸民、生民草民、兆民平民,又谓苍生百姓、布衣白丁、匹夫群氓、赤子大众。
《商君书》有驭民五术:壹民、弱民、疲民,辱民,贫民。壹民:统一思想,垄断意识形态,实施愚民政策。弱民:民弱国强,国强民弱,治国之道,务在弱民。疲民:为民寻事,使之疲于奔命,不得消停,然后换来统治者的安稳;不停征战,更卒、正卒、戍卒,不停徭役,力役、杂役、军役,使民无暇顾及他事。辱民:使之匍匐于生计,毫无自尊自信,唆之相互检举揭发,终天生活于恐惧氛围。贫民:除却生存必须,剥夺余粮余财,人穷志短,马瘦毛长,只得依赖国家分给,否则便会饿死。五者若不灵,杀之。
制天下者,必先制民,历代统治者奉《商君书》为秘籍宝典,桑弘羊赞之:“功如丘山,名传后世。”王安石赋诗曰:“自古驱民在信诚,一言为重百金轻。今人未可非商鞅,商鞅能令政必行。”
1958年8月21日,毛泽东在北戴河会议上讲话:“民法和刑法那一类法律都不要了。民法刑法那样多条谁记得了?一搞大跃进,就没时间犯法了。”此即疲民之术。在其执政的28年间,大运动套小运动,小运动为大运动,一个运动未结,另一运动已始,大大小小五六十次,唐德刚便说:“毛当国28年,最大的特点就是搞‘运动’,中国老百姓简直可以说没有一时一刻不在胆战心惊的运动中讨生活。”此也疲民之术。人有张弛调剂,农有忙闲间歇,闲时,迎神赛社,赶集听戏,然在学大寨期间,惟剩一忙。耕耘收储自不必说,纵然天寒地冻之时,大搞农田水利建设,平整土地,熟田变生土,美其名曰海绵田,毁林开垦,填湖造地,生态为之破坏,美其名曰人定胜天。期间,送饭地头,送戏田间,只闻周文雍陈铁军刑场上举办过婚礼,却不知有将婚礼办到水库工地上者。捆绑农民于土地,使之不得自由迁徙,此仍疲民之术。
疲民身体的当间,还树立起了若干劳模,号召众人学习之。工业学大庆,农业学大寨,全国学人民解放军。解放军里的先进人物最多,雷锋王杰刘英俊,除去做好事救财产,共同的一点是均毕业于“毛泽东思想大学校”,《毛选》学得好。此外,各行各业各树各的先进,周恩来便欣然道:“天涯处处有芳草,祖国处处有英雄。”有歌唱道:“革命熔炉火最红,毛泽东时代出英雄。”仅大寨的模范人物就有陈永贵、郭凤莲、贾进才、宋立英等。知青中的模范人物更多,著名者有河北的邢燕子、江苏的董家耕、山西的蔡立坚、天津的侯隽等,后来每个省、每个县都树起了自己的模范。黑龙江的金训华名气最大,1969年8月,上海知青金训华在洪水激流中抢救国家财产英勇牺牲,这位知青用以生命为代价抢救的国家财产,原来只是两根电线杆子。之后学金训华成风,表现突出者,可回城可当兵,可推荐工农兵学员,还可巡回作报告,尤其对于那些家庭出生不好者,尚有为救羊羔、扑灭草原野火罹难者,总之,国家利益至上,财产比人命重要,与国家的存在相比,个人简直无足轻重。学先进,赶先进,乃疲民精神之术。精神疲民之要点,在于使民占心,无暇反思自省,无以判断是否。你一旦被别人的观点所左右,实已沦为别人的奴隶。鲁迅说:“做奴隶虽然不幸,但并不可怕,因为知道挣扎,毕竟还有挣脱的希望;若是从奴隶生活中寻出美来,赞叹、陶醉,就是万劫不复的奴才了。”不幸被鲁迅言中,多数人在奴隶生活中找到了乐趣。
基本因子,永远是芸芸莘莘,铺天盖地。以前的教育是“永作革命的螺丝钉”,后来不提“革命”了,就作社会的螺丝钉吧。当你步入社会后便发现,在国家这部巨型机器上,哪有作螺丝钉的机会,你就是块铺路的碎石,终日被人车来回碾压。付出许多,所获极少,工资不高,纳税不低。卫生部部长陈竺曾在“小崔说事”栏目接受崔永元采访时,侃侃而谈医疗改革成果之惠民:“我们免费为一位农村大妈做了白内障手术。当摘下纱布时,她能看见了,她千谢万谢,要感谢这次‘白内障患者复明工程’的项目!靠她自己,她一辈子也做不起手术。”崔永元反问道:“她辛苦一辈子,连个白内障手术都做不起,那她得恨谁呢?”
时下为买房买车,孩子受教育家人看大夫,似乎所有人都在忙忙碌碌,蝇营狗苟,民疲矣。阳光少年一旦计较起柴米油盐,顿已进入中年,诗意泯灭,功利遂滋,浪漫殆尽,世故成习。而“买房保值”“孩子不能输在起跑线上”之类的口号,概念疲民也。这个路线,那个教育,这个主义,那个引导,精神疲民也。无形较之有型,劳心较之劳力,更甚。
在一个设定好的笼子里,任何动作,都是别人期望的表演。提笼之人,就怕你闲着,闲出自省自察、嗜欲爱好来,闲出条分缕析、擘肌剖理来,该是怎样的杵逆不道?圣人早有箴言:“民可使由之,不可使知之。”
韩惠王曾派手无寸铁的水利专家郑国,说服秦国兴修水利,意在疲秦而无暇顾及六国。然秦民早已习惯被疲,疲秦不成反利秦。然秦人连年征战,加之筑长城,修阿房,疲民之术终使天下疲民揭竿而起,亡秦者,秦民也。隋炀帝征辽东,挖运河,疲民无奈,篝火狐鸣,亡隋者,隋民也。
对民如此,对君亦然。仇士良檀权揽政20余年,先后杀二王、一妃、四宰相,甚至可当面指斥皇帝,唐文宗哀叹自己受家奴控制,不如亡国之君周赧王、汉献帝。仇士良的事君固位秘诀为:“天子不可令闲暇,暇必观书,见儒臣,则又纳谏,智深虑远,减玩好,省游幸,吾属恩且薄而权轻矣。为诸君计,莫若殖财货,盛鹰马,日以球猎声色蛊其心,极侈靡,使悦不知息,则必斥经术,阇外事,万机在我,恩泽权力欲焉往哉?”
《商君书》有驭民五术:壹民、弱民、疲民,辱民,贫民。壹民:统一思想,垄断意识形态,实施愚民政策。弱民:民弱国强,国强民弱,治国之道,务在弱民。疲民:为民寻事,使之疲于奔命,不得消停,然后换来统治者的安稳;不停征战,更卒、正卒、戍卒,不停徭役,力役、杂役、军役,使民无暇顾及他事。辱民:使之匍匐于生计,毫无自尊自信,唆之相互检举揭发,终天生活于恐惧氛围。贫民:除却生存必须,剥夺余粮余财,人穷志短,马瘦毛长,只得依赖国家分给,否则便会饿死。五者若不灵,杀之。
制天下者,必先制民,历代统治者奉《商君书》为秘籍宝典,桑弘羊赞之:“功如丘山,名传后世。”王安石赋诗曰:“自古驱民在信诚,一言为重百金轻。今人未可非商鞅,商鞅能令政必行。”
1958年8月21日,毛泽东在北戴河会议上讲话:“民法和刑法那一类法律都不要了。民法刑法那样多条谁记得了?一搞大跃进,就没时间犯法了。”此即疲民之术。在其执政的28年间,大运动套小运动,小运动为大运动,一个运动未结,另一运动已始,大大小小五六十次,唐德刚便说:“毛当国28年,最大的特点就是搞‘运动’,中国老百姓简直可以说没有一时一刻不在胆战心惊的运动中讨生活。”此也疲民之术。人有张弛调剂,农有忙闲间歇,闲时,迎神赛社,赶集听戏,然在学大寨期间,惟剩一忙。耕耘收储自不必说,纵然天寒地冻之时,大搞农田水利建设,平整土地,熟田变生土,美其名曰海绵田,毁林开垦,填湖造地,生态为之破坏,美其名曰人定胜天。期间,送饭地头,送戏田间,只闻周文雍陈铁军刑场上举办过婚礼,却不知有将婚礼办到水库工地上者。捆绑农民于土地,使之不得自由迁徙,此仍疲民之术。
疲民身体的当间,还树立起了若干劳模,号召众人学习之。工业学大庆,农业学大寨,全国学人民解放军。解放军里的先进人物最多,雷锋王杰刘英俊,除去做好事救财产,共同的一点是均毕业于“毛泽东思想大学校”,《毛选》学得好。此外,各行各业各树各的先进,周恩来便欣然道:“天涯处处有芳草,祖国处处有英雄。”有歌唱道:“革命熔炉火最红,毛泽东时代出英雄。”仅大寨的模范人物就有陈永贵、郭凤莲、贾进才、宋立英等。知青中的模范人物更多,著名者有河北的邢燕子、江苏的董家耕、山西的蔡立坚、天津的侯隽等,后来每个省、每个县都树起了自己的模范。黑龙江的金训华名气最大,1969年8月,上海知青金训华在洪水激流中抢救国家财产英勇牺牲,这位知青用以生命为代价抢救的国家财产,原来只是两根电线杆子。之后学金训华成风,表现突出者,可回城可当兵,可推荐工农兵学员,还可巡回作报告,尤其对于那些家庭出生不好者,尚有为救羊羔、扑灭草原野火罹难者,总之,国家利益至上,财产比人命重要,与国家的存在相比,个人简直无足轻重。学先进,赶先进,乃疲民精神之术。精神疲民之要点,在于使民占心,无暇反思自省,无以判断是否。你一旦被别人的观点所左右,实已沦为别人的奴隶。鲁迅说:“做奴隶虽然不幸,但并不可怕,因为知道挣扎,毕竟还有挣脱的希望;若是从奴隶生活中寻出美来,赞叹、陶醉,就是万劫不复的奴才了。”不幸被鲁迅言中,多数人在奴隶生活中找到了乐趣。
基本因子,永远是芸芸莘莘,铺天盖地。以前的教育是“永作革命的螺丝钉”,后来不提“革命”了,就作社会的螺丝钉吧。当你步入社会后便发现,在国家这部巨型机器上,哪有作螺丝钉的机会,你就是块铺路的碎石,终日被人车来回碾压。付出许多,所获极少,工资不高,纳税不低。卫生部部长陈竺曾在“小崔说事”栏目接受崔永元采访时,侃侃而谈医疗改革成果之惠民:“我们免费为一位农村大妈做了白内障手术。当摘下纱布时,她能看见了,她千谢万谢,要感谢这次‘白内障患者复明工程’的项目!靠她自己,她一辈子也做不起手术。”崔永元反问道:“她辛苦一辈子,连个白内障手术都做不起,那她得恨谁呢?”
时下为买房买车,孩子受教育家人看大夫,似乎所有人都在忙忙碌碌,蝇营狗苟,民疲矣。阳光少年一旦计较起柴米油盐,顿已进入中年,诗意泯灭,功利遂滋,浪漫殆尽,世故成习。而“买房保值”“孩子不能输在起跑线上”之类的口号,概念疲民也。这个路线,那个教育,这个主义,那个引导,精神疲民也。无形较之有型,劳心较之劳力,更甚。
在一个设定好的笼子里,任何动作,都是别人期望的表演。提笼之人,就怕你闲着,闲出自省自察、嗜欲爱好来,闲出条分缕析、擘肌剖理来,该是怎样的杵逆不道?圣人早有箴言:“民可使由之,不可使知之。”
韩惠王曾派手无寸铁的水利专家郑国,说服秦国兴修水利,意在疲秦而无暇顾及六国。然秦民早已习惯被疲,疲秦不成反利秦。然秦人连年征战,加之筑长城,修阿房,疲民之术终使天下疲民揭竿而起,亡秦者,秦民也。隋炀帝征辽东,挖运河,疲民无奈,篝火狐鸣,亡隋者,隋民也。
对民如此,对君亦然。仇士良檀权揽政20余年,先后杀二王、一妃、四宰相,甚至可当面指斥皇帝,唐文宗哀叹自己受家奴控制,不如亡国之君周赧王、汉献帝。仇士良的事君固位秘诀为:“天子不可令闲暇,暇必观书,见儒臣,则又纳谏,智深虑远,减玩好,省游幸,吾属恩且薄而权轻矣。为诸君计,莫若殖财货,盛鹰马,日以球猎声色蛊其心,极侈靡,使悦不知息,则必斥经术,阇外事,万机在我,恩泽权力欲焉往哉?”
文章:夺回不被绑架的人生,就是获得自由的第一步 发表时间:2016-07-14, 15:02:35
#2401
作者:广西南宁市
布局实例
之前有写过文章,“CSS3 animation实现点点点loading动画”,有box-shadow模拟,还有border+background模拟,以及申请专利的text-shadow模拟,然后,自从我见到了CSS3 ch单位,我才发现,还有更好的方法。由于有了ch单位,配合等宽字体,我们就可以指定每个字符占据的精确宽度,于是,我们就可以使用text-indent轻轻松松实现打点效果。
等宽字体在web布局中应用以及CSS3 ch单位嘿嘿
之前有写过文章,“CSS3 animation实现点点点loading动画”,有box-shadow模拟,还有border+background模拟,以及申请专利的text-shadow模拟,然后,自从我见到了CSS3 ch单位,我才发现,还有更好的方法。由于有了ch单位,配合等宽字体,我们就可以指定每个字符占据的精确宽度,于是,我们就可以使用text-indent轻轻松松实现打点效果。
等宽字体在web布局中应用以及CSS3 ch单位嘿嘿
<style>@supports (display:none) {
dot {
display: inline-block;
width: 3ch;
text-indent: -1ch;
vertical-align: bottom;
overflow: hidden;
animation: dot 3s infinite step-start both;
/* 等宽字体很重要 */
font-family: Consolas, Monaco, monospace;
}
}
@keyframes dot {
33% { text-indent: 0; }
66% { text-indent: -2ch; }
}</style>
订单提交中<dot>...</dot>Run code
Cut to clipboard
文章:常用html、demo代码 发表时间:2016-07-14, 14:25:25
#2402
展开↯#2404
展开↯#2407
作者:广西南宁市
<?php
$id=get_post_meta($post->ID, "相册链接",true);
echo do_shortcode('[nggallery id='.$id.']'); ?>Run code
Cut to clipboard
文章:WordPress主题模板对应文件目录修改基本知识 发表时间:2016-07-13, 16:58:06
#2408
作者:广西南宁市
二原选择排序出错 当例子为{9,8,7,6,5,4,3,2,1,0}时
希尔排序那里a[j+dk] = a[j];应改为a[j] = a[j-dk];
虽然对结果无影响,但每次都多了一次无意义的移位
对于桶排序我也是没看懂,你这是什么桶排序,我怎么没见过?桶排序内部可用冒泡,选择,乃至快排?你又何必用桶呢?直接用这些排序就是了。
不是很理解楼主写得那个正向和反向同时进行的冒泡排序。和传统的比,比较的次数一次没少,还判断不了最好情况(有序数列O(n)的情况)
首先,楼主写了这么多辛苦了!有些总结得不错,但是提供的代码最好自己先测试下,有些写的比较繁琐,比如直接插入排序,有些还有错误,比如迭代的归并排序。我总结了一下常见的排序算法的源码并写了详细的注释,希望能和楼主交流下
归并排序,数组长度为奇数时候有问题呀
tmp = q; q = rf; rf = tmp; //交换q,rf,以保证下一趟归并时,仍从q 归并到rf
我对于这句话有个疑问:
MergeSort(a, b, 10);
其中b应该是辅助数组,但是我添加出来的那句话里,不会导致,最后自己都不清楚排序好的是数组a还是数组b?
文中冒泡算法改进1似乎是没有效率提升的,我在元素比对时进行了count++的操作,最终的count数与原始版本的一致。
我的测试数组:{ 4, 7, 8, 9, 3, 2 }
这是原始版本的冒泡:最终count为15
这是冒泡改进1,最终count也是15
请指教。
感谢博主的分享。这里我也总结了几种常用排序的算法,还请博主多多指教
直接插入排序中, while(x < a[j]) //查找在有序表的插入位置 应该改为 while(x<a[j] && j>=0)
应该先判断索引 j>=0
楼主 归并排序 的递归实现里
ElemType *rf2;
rf2 是不是存的临时结果啊,这样不申请空间不会有内存问题吗?
是不是要写成 rf2 = new ElemType....?
楼主,貌似堆排序中的
int child = 2*s+1;错了吧,该语句已经将child指向右节点了。
我认为应该把所有child下滤的语句改成child=child*2;同时初始化中将child=2*s,确保child指向的是左节点。
int temp=arr[i];
int child=i*2;
while(child<len)
{
if(child+1<len&&arr[child]>arr[child+1])
child++;
if(arr[i]>arr[child])
{
arr[i]=arr[child];
i=child;
child=child*2;
}
else break;
arr[i]=temp;
}
代码如上;
没错的,因为第一个元素下标是0,所以,第i个根节点的左子节点下标就是2*i+1;如果第一个元素下标是1,那么第i个根节点的左子节点下标才是2*i。
插入排序:
/**
* 插入排序
*/
public static void insertSort()
{
int[] arrs = {49,38,65,97,76,13,27};
for(int i=1;i<arrs.length;i++)
{
if(arrs[i] >= arrs[i-1])
continue;
else
{
int k = 0;
while(i-1>=0 && arrs[i] < arrs[i-1])
{
int temp = arrs[i];
arrs[i] = arrs[i-1];
arrs[i-1] = temp;
i--;
k++;
}
i=i+k;
}
}
}
选择排序的改进-二元选择排序写错了,知识因为博客的给的数组恰好掩盖了错误,这是我正确的代码,用java实现:
public class Main
public static void main(String[] args){
int[] a = {8,2,5,4,1,9,10,3,7,12,6,4,123,5,32,12234};
SelectSort(a, a.length);
}
public static void SelectSort(int r[], int n){
int i ,j , min ,max, tmp;
for (i=0 ;i <= n/2;i++) {
// 做不超过n/2趟选择排序
min = i; max = n-i-1; //分别记录最大和最小关键字记录位置
for (j= i+1; j< n-i; j++) {
if (r[j] > r[max]) {
max = j ;
continue ;
}
if (r[j]< r[min]) {
min = j ;
}
}
//该交换操作还可分情况讨论以提高效率
tmp = r[i]; r[i] = r[min]; r[min] = tmp;
tmp = r[n - i -1]; r[n - i -1] = r[max]; r[max] = tmp;
print(r); //打印每趟排序的结果
}
}
public static void print(int[] a){
for (int i : a) {
System.out.print(i + " ");
}
System.out.println("");
}
}
不对,第一个元素不是最大,也还可能出错
我发现一个神奇的现象,只要当数组第一个元素为组中最大时,二元插入算法会出错,其他情况就没事,你们说为什么
楼主总结的很棒。之前没仔细研究过堆排序,看了以后发现堆排序性能很高。
堆排序那节的堆调整函数,我感觉这样写会更简洁易懂
感谢楼主分享!
我将每个算法运行了一遍,其中nlogn算法用亿级数量级;
已全部实现。
中间一些算法有误,提示一下楼主:
如归并算法,在待排序数量大于1万时候排序结果会有问题。
希尔排序那里a[j+dk] = a[j];应改为a[j] = a[j-dk];
虽然对结果无影响,但每次都多了一次无意义的移位
对于桶排序我也是没看懂,你这是什么桶排序,我怎么没见过?桶排序内部可用冒泡,选择,乃至快排?你又何必用桶呢?直接用这些排序就是了。
不是很理解楼主写得那个正向和反向同时进行的冒泡排序。和传统的比,比较的次数一次没少,还判断不了最好情况(有序数列O(n)的情况)
首先,楼主写了这么多辛苦了!有些总结得不错,但是提供的代码最好自己先测试下,有些写的比较繁琐,比如直接插入排序,有些还有错误,比如迭代的归并排序。我总结了一下常见的排序算法的源码并写了详细的注释,希望能和楼主交流下
http://blog.csdn.net/roamer_nuptgczx/article/details/51524466Run code
Cut to clipboard
归并排序,数组长度为奇数时候有问题呀
tmp = q; q = rf; rf = tmp; //交换q,rf,以保证下一趟归并时,仍从q 归并到rf
我对于这句话有个疑问:
MergeSort(a, b, 10);
其中b应该是辅助数组,但是我添加出来的那句话里,不会导致,最后自己都不清楚排序好的是数组a还是数组b?
文中冒泡算法改进1似乎是没有效率提升的,我在元素比对时进行了count++的操作,最终的count数与原始版本的一致。
我的测试数组:{ 4, 7, 8, 9, 3, 2 }
这是原始版本的冒泡:最终count为15
public static void bubbleSort(int[] arg) {
int count = 0;
for (int i = 0; i < arg.length - 1; i++) {
for (int j = 0; j < arg.length - i - 1; j++) {
count++;
if (arg[j] > arg[j + 1]) {
int temp = arg[j];
arg[j] = arg[j + 1];
arg[j + 1] = temp;
}
}
}
System.out.println(count);
} Run code
Cut to clipboard
这是冒泡改进1,最终count也是15
<br> public static void bubbleSort1(int[] array) {<br> // 初始时,最后位置保持不变<br> int i = array.length - 1;<br> int count = 0;<br> while (i > 0) {<br> // 每趟开始时,无记录交换<br> int pos = 0;<br> for (int j = 0; j < i; j++) {<br> if (array[j] > array[j + 1]) {<br> // 记录交换的位置<br> pos = j;<br> int temp = array[j];<br> array[j] = array[j + 1];<br> array[j + 1] = temp;<br> <br> }<br> count++;<br> }<br> // 为下一趟排序作准备<br> i = pos;<br> }<br> System.out.println(count);<br> }<br> Run code
Cut to clipboard
请指教。
感谢博主的分享。这里我也总结了几种常用排序的算法,还请博主多多指教
http://www.onmpw.com/tm/xwzj/algorithm_112.htmlRun code
Cut to clipboard
void insertSort(int a[], int n) {
for (int i = 1; i < n; i++) {
if (a[i] < a[i - 1]) {
int j = i - 1;
int x = a[i];
//这里这行代码没有用
while (x < a[j]) {
a[j + 1] = a[j];
j--;
}
a[j + 1] = x;
}
}
} Run code
Cut to clipboard
直接插入排序中, while(x < a[j]) //查找在有序表的插入位置 应该改为 while(x<a[j] && j>=0)
应该先判断索引 j>=0
楼主 归并排序 的递归实现里
ElemType *rf2;
rf2 是不是存的临时结果啊,这样不申请空间不会有内存问题吗?
是不是要写成 rf2 = new ElemType....?
楼主,貌似堆排序中的
int child = 2*s+1;错了吧,该语句已经将child指向右节点了。
我认为应该把所有child下滤的语句改成child=child*2;同时初始化中将child=2*s,确保child指向的是左节点。
int temp=arr[i];
int child=i*2;
while(child<len)
{
if(child+1<len&&arr[child]>arr[child+1])
child++;
if(arr[i]>arr[child])
{
arr[i]=arr[child];
i=child;
child=child*2;
}
else break;
arr[i]=temp;
}
代码如上;
没错的,因为第一个元素下标是0,所以,第i个根节点的左子节点下标就是2*i+1;如果第一个元素下标是1,那么第i个根节点的左子节点下标才是2*i。
插入排序:
/**
* 插入排序
*/
public static void insertSort()
{
int[] arrs = {49,38,65,97,76,13,27};
for(int i=1;i<arrs.length;i++)
{
if(arrs[i] >= arrs[i-1])
continue;
else
{
int k = 0;
while(i-1>=0 && arrs[i] < arrs[i-1])
{
int temp = arrs[i];
arrs[i] = arrs[i-1];
arrs[i-1] = temp;
i--;
k++;
}
i=i+k;
}
}
}
选择排序的改进-二元选择排序写错了,知识因为博客的给的数组恰好掩盖了错误,这是我正确的代码,用java实现:
public class Main
public static void main(String[] args){
int[] a = {8,2,5,4,1,9,10,3,7,12,6,4,123,5,32,12234};
SelectSort(a, a.length);
}
public static void SelectSort(int r[], int n){
int i ,j , min ,max, tmp;
for (i=0 ;i <= n/2;i++) {
// 做不超过n/2趟选择排序
min = i; max = n-i-1; //分别记录最大和最小关键字记录位置
for (j= i+1; j< n-i; j++) {
if (r[j] > r[max]) {
max = j ;
continue ;
}
if (r[j]< r[min]) {
min = j ;
}
}
//该交换操作还可分情况讨论以提高效率
tmp = r[i]; r[i] = r[min]; r[min] = tmp;
tmp = r[n - i -1]; r[n - i -1] = r[max]; r[max] = tmp;
print(r); //打印每趟排序的结果
}
}
public static void print(int[] a){
for (int i : a) {
System.out.print(i + " ");
}
System.out.println("");
}
}
不对,第一个元素不是最大,也还可能出错
我发现一个神奇的现象,只要当数组第一个元素为组中最大时,二元插入算法会出错,其他情况就没事,你们说为什么
楼主总结的很棒。之前没仔细研究过堆排序,看了以后发现堆排序性能很高。
堆排序那节的堆调整函数,我感觉这样写会更简洁易懂
#define SWAP(x,y) do \
{ \
int tmp = x; \
x = y; \
y = tmp; \
}while(0)
#define L_CHILD (2 * (root) + 1)
#define R_CHILD (2 * (root) + 2)
static void heap_adjust(int *heap, int root, int len)
{
if (L_CHILD >= len)
return;
int swap = L_CHILD;
if (R_CHILD < len) {
swap = (heap[L_CHILD] < heap[R_CHILD])?L_CHILD:R_CHILD;
}
if (heap[root] > heap[swap]) {
SWAP(heap[root], heap[swap]);
heap_adjust(heap, swap, len);
}
} Run code
Cut to clipboard
感谢楼主分享!
我将每个算法运行了一遍,其中nlogn算法用亿级数量级;
已全部实现。
中间一些算法有误,提示一下楼主:
如归并算法,在待排序数量大于1万时候排序结果会有问题。
修改前: tmp = q; q = rf; rf = tmp;
修改后:
1、MergeSort中,先将rf初始化
for(int k=0;k<lenArr;k++)
rf[k]=r[k];
2、MergeSort中,将tmp = q; q = rf; rf = tmp; 语句修改为
for(int k=0;k<lenArr;k++)
q[k]=rf[k];Run code
Cut to clipboard
文章:简谈八大排序算法知识详解 发表时间:2016-07-13, 16:43:56
#2409
展开↯#2410
作者:广西南宁市
MetInfo米拓后台操作修改汇总
三米最近在研究MetInfo这个开源程序(http://www.metinfo.cn/),发现他很适合做企业网站,而且他本身的seo也比较到位。不过对于不熟悉php的朋友,修改模板有点难度,下面是修改MetInfo后台和模板的时候的记录总结,备注一份方便以后查看。也顺便和大家分享分享。
1、网站标题设置
(1)系统配置 – 基本信息 – 网站名称 -填写“三米博客”
(2)优化推广 – SEO参数设置 – 页面标题(title)构成 – 内容标题+网站名称 ,下面关键词,描述等自行修改。
(3)替换头部LOGO 图片,系统配置 – 基本信息 – LOGO,上传即可。
2、修改选择模板,注意中文,英文
界面风格 – 界面风格- 网站模板及风格 – met007 、黑色
3、栏目设置
栏目配置 – 栏目配置 – 添加
- 新闻中心 – 头部主导航条 – 文章模块 – news – 3
- 产品中心 – 头部主导航条 – 产品模块 – product – 1
-产品子分类1
-产品子分类1
-产品子分类1
-产品子分类1
- 成功案例 – 头部主导航条 – 图片模块 – case – 4
- 关于我们 – 头部主导航条 – 简介模块 – case – 2
- 销售网络 – 头部主导航条 – 简介模块 – sales – 0
- 联系我们 – 头部主导航条 – 简介模块 – contacts – 0
4、设置首页about简介
内容管理 – 首页内容 – 首页内容 – 编辑
5、设置关于我们,联系我们,销售网络,公司专利
内容管理 – 关于我们 – 关于我们 – 编辑
其他雷同
6、发表新闻文章
内容管理 – 选择“新闻中心”栏目 – 添加内容 – 标题 – 详细内容
7、发表产品内容
设置字段:
栏目配置 – 产品模块参数 – 添加新字段 – 型号 – 设置。
发布:
内容管理 – 选择“产品中心”栏目 – 添加内容 – 图片地址 – 浏览上传(缩略图不用传,自动生成)- 标题 – 详细内容
8、调整产品图片大小,去除订购按钮
区分中英文设置,分开设置的。
调整图片大小:
界面风格 – 界面风格 – 产品模块内容页图片风格 – 400*400 换成需要大小 (300*300)
去除订购按钮:
系统配置 – 语言选项 – 简体中文 – 模板语言参数 – 产品模块字段3 – 去除“订购产品” 留空(错误做法,没彻底去掉,有外框,只是去掉里面的字,替换而已)
系统配置 – 语言选项 – 简体中文 – 模板语言参数 – 0为不显示1为显示产品内页购买反馈按钮 – 将1换成0
9、成功案例发布
内容管理 – 选择“成功案例”栏目 – 添加内容 – 图片地址 – 浏览上传(缩略图不用传)- 标题 – 简短描述(列表页面,描述介绍) – 详细内
10、添加首页头部幻灯片
界面风格 – flash管理 – flash添加 – 图片地址 -浏览 上传 – 填写标题、链接地址。- 选择 所属栏目 – 首页
11、添加左边栏联系我们的文字
系统配置 – 备用字段 – 填写联系方式栏目内容。
12、首页调整新闻和案例的显示
栏目配置 – 栏目配置 – 相应栏目标识 – 新闻中心(6)- 成功案例(7)
13、首页每个布局表格的头部显示题目设置
系统配置 – 语言选项 – Column1栏目名称(关于我们)- Column2栏目名称(新闻中心)- Column3栏目名称(成功案例)- Column4栏目名称(产品展示)- Column5栏目名称(联系我们)- Column6栏目名称(友情链接)
14、以下为首页FLASH右侧默认栏目标识。
on/off是否开心FLASH右边栏目
修改成off
15、首页中部 产品展示 的调用显示
内容管理 – 产品中心 – 选择产品 – 推荐(是)
16、修正首页英文站切换的错误地址
系统配置 – 语言选项 – english -外部链接 – http://www.***.com/index.php?lang=en
17、首页关于我们简介,联系我们的调用,修改代码
FTP – met007 – index.html – 相应的位置调整替换好就可以
首页简介代码:{$index[content]}
联系我们代码(备用字段):{$otherinfo[info10]}(首页取消)
18、修正,字数太多撑错位的情况
在上面添加 style=”height:{$fheight}px;” 限制高度。
<div style=”height:{$fheight}px;”>
19、调试内容页栏目页左侧栏目,统一调用产品分类导航
web.html 头部添加 $webnav=methtml_classlist(’1′,”,’1′);
之后在后台设置
栏目配置 – 栏目配置 -产品中心(标识1)
20、去除招聘页面中“在线应聘”按钮
showjob.html去除 在线应聘代码(内页)
<div><a href=”$job[cv]” target=”$Blank” title=”$lang_cvtitle”>$lang_cvtitle</a></div>
job.html去除 在线应聘代码(列表)
<span><a href=”$val[cv]” title=”{$lang_cvtitle}” target=”$Blank”>{$lang_cvtitle}</a></span>
同时要去掉这段代码
<span>{$lang_cvtitle}</span>
21、调整首页文章显示条数
界面风格 – 首页配置 – 文章模块栏目显示数(新闻,最新产品)6 → 7,图片模块栏目显示数(成功案例)8 → 7
22、解决首页产品展示滚动图片不滚动
界面风格 – 首页配置 – 产品模块栏目显示数 4→ 5
23、是否关闭首页友情链接
界面风格 – 首页配置 – 是否开启友情链接 (开启)
24、静态页面设置
优化推广 – 静态页面设置 – 全站静态化 – 内容信息变动时自动生成 – html – 所在文件夹名称+ID(如product10) - 伪静态(URL Rewrite)关闭 – 所在文件夹名称+class+页码(如software_1_1) – 全站静态打包(关闭)-生成栏目导航 – xml网站地图(开启)- 最新页面最大条数 建议设置为100
静态页面生成 – 点击生成所有页面
25、友情链接设置
优化推广 – 友情链接 – 添加友情链接 – 文字链接 – 网址 – 审核通过√ – 推荐站点√ – 标题
26、去除友情链接申请
优化推广 – 友情链接 – 友情链接申请(关闭) – 保存
27、在线交流浮动客服设置
界面风格 – 在线交流管理 – 添加QQ,msn等等
界面风格 – 在线交流配置 – 选择风格 – 电话说明等
28、关闭会员功能
用户管理 – 会员功能设置 – 关闭会员注册,会员权限功能等
29、在线留言,在线反馈
接收邮件的设置,空间是否支持
设置参考:http://www.metinfo.cn/faq/shownews502.htm
折腾几天终于有点弄明白MetInfo了,不过修改模板依然有难度,看来有时间要好好看看php基础才行。希望喜欢折腾研究各种开源cms程序的朋友们,可以互相交流学习。
三米最近在研究MetInfo这个开源程序(http://www.metinfo.cn/),发现他很适合做企业网站,而且他本身的seo也比较到位。不过对于不熟悉php的朋友,修改模板有点难度,下面是修改MetInfo后台和模板的时候的记录总结,备注一份方便以后查看。也顺便和大家分享分享。
1、网站标题设置
(1)系统配置 – 基本信息 – 网站名称 -填写“三米博客”
(2)优化推广 – SEO参数设置 – 页面标题(title)构成 – 内容标题+网站名称 ,下面关键词,描述等自行修改。
(3)替换头部LOGO 图片,系统配置 – 基本信息 – LOGO,上传即可。
2、修改选择模板,注意中文,英文
界面风格 – 界面风格- 网站模板及风格 – met007 、黑色
3、栏目设置
栏目配置 – 栏目配置 – 添加
- 新闻中心 – 头部主导航条 – 文章模块 – news – 3
- 产品中心 – 头部主导航条 – 产品模块 – product – 1
-产品子分类1
-产品子分类1
-产品子分类1
-产品子分类1
- 成功案例 – 头部主导航条 – 图片模块 – case – 4
- 关于我们 – 头部主导航条 – 简介模块 – case – 2
- 销售网络 – 头部主导航条 – 简介模块 – sales – 0
- 联系我们 – 头部主导航条 – 简介模块 – contacts – 0
4、设置首页about简介
内容管理 – 首页内容 – 首页内容 – 编辑
5、设置关于我们,联系我们,销售网络,公司专利
内容管理 – 关于我们 – 关于我们 – 编辑
其他雷同
6、发表新闻文章
内容管理 – 选择“新闻中心”栏目 – 添加内容 – 标题 – 详细内容
7、发表产品内容
设置字段:
栏目配置 – 产品模块参数 – 添加新字段 – 型号 – 设置。
发布:
内容管理 – 选择“产品中心”栏目 – 添加内容 – 图片地址 – 浏览上传(缩略图不用传,自动生成)- 标题 – 详细内容
8、调整产品图片大小,去除订购按钮
区分中英文设置,分开设置的。
调整图片大小:
界面风格 – 界面风格 – 产品模块内容页图片风格 – 400*400 换成需要大小 (300*300)
去除订购按钮:
系统配置 – 语言选项 – 简体中文 – 模板语言参数 – 产品模块字段3 – 去除“订购产品” 留空(错误做法,没彻底去掉,有外框,只是去掉里面的字,替换而已)
系统配置 – 语言选项 – 简体中文 – 模板语言参数 – 0为不显示1为显示产品内页购买反馈按钮 – 将1换成0
9、成功案例发布
内容管理 – 选择“成功案例”栏目 – 添加内容 – 图片地址 – 浏览上传(缩略图不用传)- 标题 – 简短描述(列表页面,描述介绍) – 详细内
10、添加首页头部幻灯片
界面风格 – flash管理 – flash添加 – 图片地址 -浏览 上传 – 填写标题、链接地址。- 选择 所属栏目 – 首页
11、添加左边栏联系我们的文字
系统配置 – 备用字段 – 填写联系方式栏目内容。
12、首页调整新闻和案例的显示
栏目配置 – 栏目配置 – 相应栏目标识 – 新闻中心(6)- 成功案例(7)
13、首页每个布局表格的头部显示题目设置
系统配置 – 语言选项 – Column1栏目名称(关于我们)- Column2栏目名称(新闻中心)- Column3栏目名称(成功案例)- Column4栏目名称(产品展示)- Column5栏目名称(联系我们)- Column6栏目名称(友情链接)
14、以下为首页FLASH右侧默认栏目标识。
on/off是否开心FLASH右边栏目
修改成off
15、首页中部 产品展示 的调用显示
内容管理 – 产品中心 – 选择产品 – 推荐(是)
16、修正首页英文站切换的错误地址
系统配置 – 语言选项 – english -外部链接 – http://www.***.com/index.php?lang=en
17、首页关于我们简介,联系我们的调用,修改代码
FTP – met007 – index.html – 相应的位置调整替换好就可以
首页简介代码:{$index[content]}
联系我们代码(备用字段):{$otherinfo[info10]}(首页取消)
18、修正,字数太多撑错位的情况
在上面添加 style=”height:{$fheight}px;” 限制高度。
<div style=”height:{$fheight}px;”>
19、调试内容页栏目页左侧栏目,统一调用产品分类导航
web.html 头部添加 $webnav=methtml_classlist(’1′,”,’1′);
之后在后台设置
栏目配置 – 栏目配置 -产品中心(标识1)
20、去除招聘页面中“在线应聘”按钮
showjob.html去除 在线应聘代码(内页)
<div><a href=”$job[cv]” target=”$Blank” title=”$lang_cvtitle”>$lang_cvtitle</a></div>
job.html去除 在线应聘代码(列表)
<span><a href=”$val[cv]” title=”{$lang_cvtitle}” target=”$Blank”>{$lang_cvtitle}</a></span>
同时要去掉这段代码
<span>{$lang_cvtitle}</span>
21、调整首页文章显示条数
界面风格 – 首页配置 – 文章模块栏目显示数(新闻,最新产品)6 → 7,图片模块栏目显示数(成功案例)8 → 7
22、解决首页产品展示滚动图片不滚动
界面风格 – 首页配置 – 产品模块栏目显示数 4→ 5
23、是否关闭首页友情链接
界面风格 – 首页配置 – 是否开启友情链接 (开启)
24、静态页面设置
优化推广 – 静态页面设置 – 全站静态化 – 内容信息变动时自动生成 – html – 所在文件夹名称+ID(如product10) - 伪静态(URL Rewrite)关闭 – 所在文件夹名称+class+页码(如software_1_1) – 全站静态打包(关闭)-生成栏目导航 – xml网站地图(开启)- 最新页面最大条数 建议设置为100
静态页面生成 – 点击生成所有页面
25、友情链接设置
优化推广 – 友情链接 – 添加友情链接 – 文字链接 – 网址 – 审核通过√ – 推荐站点√ – 标题
26、去除友情链接申请
优化推广 – 友情链接 – 友情链接申请(关闭) – 保存
27、在线交流浮动客服设置
界面风格 – 在线交流管理 – 添加QQ,msn等等
界面风格 – 在线交流配置 – 选择风格 – 电话说明等
28、关闭会员功能
用户管理 – 会员功能设置 – 关闭会员注册,会员权限功能等
29、在线留言,在线反馈
接收邮件的设置,空间是否支持
设置参考:http://www.metinfo.cn/faq/shownews502.htm
折腾几天终于有点弄明白MetInfo了,不过修改模板依然有难度,看来有时间要好好看看php基础才行。希望喜欢折腾研究各种开源cms程序的朋友们,可以互相交流学习。
文章:Metinfo前后台去除删除版权修改代码 发表时间:2016-07-12, 18:29:25
#2411
作者:广西南宁市
1、从后台入手,发现改掉模板中的title信息就会提示“请不要尝试去掉'Powered byMetInfo'版权标识”;
2、admin/index.php下引入了require_once 'login/login_check.php';最后调用了include template('index');最后依据依然是include语法,也就是把template函数的输出结果包含到程序中来,检查了这个函数,只是返回一个文件路径,这个应该没鬼。
3、关于footer()函数,注释掉后网页应该可以正常浏览,但是对比前后的源码,可以看到如果不注释掉的话会多出许多/si","",$output);
if(!stristr($output,"MetInfo {$metcms_v}"))$output.=$foot;
if($_SESSION[poweredflag]==2)$_SESSION[poweredflag]=3;
echo $output;
}
function ob_pcontent(){
$output=ob_get_contents();
if($output=="") die("请不要尝试去掉'Powered by MetInfo'版权标识!");
$output=preg_replace("//si","",$output);
if(!stristr($output,"MetInfo")) {ob_end_clean();
die("请不要尝试去掉'Powered by MetInfo'版权标识!");}
$_SESSION[poweredflag]=$_SESSION[poweredflag]==3?3:2;
}
if(!isset($_SESSION[poweredflag])) $_SESSION[poweredflag]=1;
$poweredby=1;
$p0weredby=1;
————————————————————————————————————————
看到这个函数就好办了,直接注释掉这句判断:
if(!stristr($output,"MetInfo"))
{ob_end_clean();
die("请不要尝试去掉'Powered by MetInfo'版权标识!");
}
,然后就可以修改后台的标题了!
$foot=''; //"Powered byMetInfo{$metcms_v}©2008-{$m_now_year} MetInfoInc.";
这句话改为$foot='';
注释掉:if($output=="") die("请不要尝试去掉'Powered by MetInfo'版权标识!");
——————————————————————————————————
至此应该说前后台在没有版权影响了。完美破解
11、最后总结一下,要破解该系统,仅需在common.inc.php将run_strtext(connect_sqlmysql($php_text[1]));替换为:
global $foot;global $poweredby;global $p0weredby;global$metcms_v;global $m_now_year;
$foot='';
function ob_php_out(){
global $output;global $foot;
$output=preg_replace("//si","",$output);
if($_SESSION[poweredflag]==2)$_SESSION[poweredflag]=3;
echo $output;
}
function ob_pcontent(){
$output=ob_get_contents();
$output=preg_replace("//si","",$output);
$_SESSION[poweredflag]=$_SESSION[poweredflag]==3?3:2;
}
if(!isset($_SESSION[poweredflag])) $_SESSION[poweredflag]=1;
$poweredby=1;
$p0weredby=1;
2、admin/index.php下引入了require_once 'login/login_check.php';最后调用了include template('index');最后依据依然是include语法,也就是把template函数的输出结果包含到程序中来,检查了这个函数,只是返回一个文件路径,这个应该没鬼。
3、关于footer()函数,注释掉后网页应该可以正常浏览,但是对比前后的源码,可以看到如果不注释掉的话会多出许多/si","",$output);
if(!stristr($output,"MetInfo {$metcms_v}"))$output.=$foot;
if($_SESSION[poweredflag]==2)$_SESSION[poweredflag]=3;
echo $output;
}
function ob_pcontent(){
$output=ob_get_contents();
if($output=="") die("请不要尝试去掉'Powered by MetInfo'版权标识!");
$output=preg_replace("//si","",$output);
if(!stristr($output,"MetInfo")) {ob_end_clean();
die("请不要尝试去掉'Powered by MetInfo'版权标识!");}
$_SESSION[poweredflag]=$_SESSION[poweredflag]==3?3:2;
}
if(!isset($_SESSION[poweredflag])) $_SESSION[poweredflag]=1;
$poweredby=1;
$p0weredby=1;
————————————————————————————————————————
看到这个函数就好办了,直接注释掉这句判断:
if(!stristr($output,"MetInfo"))
{ob_end_clean();
die("请不要尝试去掉'Powered by MetInfo'版权标识!");
}
,然后就可以修改后台的标题了!
$foot=''; //"Powered byMetInfo{$metcms_v}©2008-{$m_now_year} MetInfoInc.";
这句话改为$foot='';
注释掉:if($output=="") die("请不要尝试去掉'Powered by MetInfo'版权标识!");
——————————————————————————————————
至此应该说前后台在没有版权影响了。完美破解
11、最后总结一下,要破解该系统,仅需在common.inc.php将run_strtext(connect_sqlmysql($php_text[1]));替换为:
global $foot;global $poweredby;global $p0weredby;global$metcms_v;global $m_now_year;
$foot='';
function ob_php_out(){
global $output;global $foot;
$output=preg_replace("//si","",$output);
if($_SESSION[poweredflag]==2)$_SESSION[poweredflag]=3;
echo $output;
}
function ob_pcontent(){
$output=ob_get_contents();
$output=preg_replace("//si","",$output);
$_SESSION[poweredflag]=$_SESSION[poweredflag]==3?3:2;
}
if(!isset($_SESSION[poweredflag])) $_SESSION[poweredflag]=1;
$poweredby=1;
$p0weredby=1;
文章:Metinfo前后台去除删除版权修改代码 发表时间:2016-07-12, 18:28:59
#2412
作者:广西南宁市
Metinfo程序用于企业建站很方便,而且支持多语言。Metinfo3.0版权问题比较麻烦,一去除,就会出现错误,一整个网站不能运行。
现在Metinfo升级到4.0,后台更加人性化,更加美观,功能性更强。版权问题方便去除。
那我们应当如何去除metinfo4.0的版权:
找开正在使用的使用,找到foot.html (以default模板为例)
删除以下代码即可
<!--以下是版权信息,购买商业授权之后方可去除!-->
<div>
Powered by
<a href="http://www.MetInfo.cn" target="_blank" title="{$lang_Info1}">
<b>MetInfo</b>
</a>
{$metcms_v} ©2008-$m_now_year
<a href="http://www.MetInfo.cn" target="_blank" title="{$lang_Info3}">
www.MetInfo.cn
</a>
</div>
<!--版权信息结束-->去掉Powered by MetInfo4.0的版权信息(这是商业版购买之后才能去除的)
此程序版权所有metinfo4.0 仅供学习参考之用,其它用途请购买版权
现在Metinfo升级到4.0,后台更加人性化,更加美观,功能性更强。版权问题方便去除。
那我们应当如何去除metinfo4.0的版权:
找开正在使用的使用,找到foot.html (以default模板为例)
删除以下代码即可
<!--以下是版权信息,购买商业授权之后方可去除!-->
<div>
Powered by
<a href="http://www.MetInfo.cn" target="_blank" title="{$lang_Info1}">
<b>MetInfo</b>
</a>
{$metcms_v} ©2008-$m_now_year
<a href="http://www.MetInfo.cn" target="_blank" title="{$lang_Info3}">
www.MetInfo.cn
</a>
</div>
<!--版权信息结束-->去掉Powered by MetInfo4.0的版权信息(这是商业版购买之后才能去除的)
此程序版权所有metinfo4.0 仅供学习参考之用,其它用途请购买版权
文章:Metinfo前后台去除删除版权修改代码 发表时间:2016-07-12, 18:28:14
#2413
作者:广西南宁市
至于贴标签说明,是为了回应群众要求的知情权吧,
不贴,你们说把群众当小白鼠,贴了,你们又说肯定有不可告人的目的,
标签很为难啊。。。
不贴,你们说把群众当小白鼠,贴了,你们又说肯定有不可告人的目的,
标签很为难啊。。。
文章:一位普通美国民众对转基因的疑问 发表时间:2016-07-11, 14:55:58
js url #
js获取url的参数和值有效方法和方式
<script language="javascript"> function getarg(url){ arg=url.split("#"); return arg[1]; //return arg[2]; } alert(getarg('https://lizhenqiu.com/article.php?id=359#comment-417#iswtf')); </script>