尹成的技术博客

尹成大魔王区块链与人工智能的技术分享

排序:
默认
按更新时间
按访问量

漏洞大爆光:QQ漏洞、飞秋漏洞、360浏览器劫持…

随着互联网应用的快速发展,信息安全已深入到诸多领域,前段时间发生的“Struts 2”漏洞及“心脏出血”漏洞影响了二亿中国网民的信息安全,原因是程序员缺少仔细的安全检查导致的。作为程序员,此时我们应该更加关注程序的安全性才对,但现实情况是程序员关注的依然是程序功能的实现,仍然忽视了程序的安全性...

2014-06-05 00:07:34

阅读数:5742

评论数:3

传智播客C/C++各种开发环境搭建视频工具文档免费教程

传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范。火速前来下载吧所谓“工欲善其事,必先利其器”。 欲学C/C++,必先搭建环境,欲成为C/C++高手,必先跑起来hellowor...

2014-04-18 20:29:39

阅读数:8652

评论数:7

经典排序算法分析和代码-下篇

这篇文档我们来讲三种非比较排序,计数排序,基数排序计数排序计数排序是一种非比较算法,其时间复杂度为O(N+K) 举例说明先用一个例子来说明计数排序算法,比如需要排序的集合为{1, 2, 1, 0, 4, 5},在该集合中,最大的数值为5,那么通过遍历整个集合,可以得到这样的数组   int cou...

2013-12-01 01:02:19

阅读数:2872

评论数:2

经典排序算法分析和代码-中篇

上篇文章中我们讨论插入排序、谢尔排序和堆排序,这章我们接着讲其他的几种排序。4.归并排序 归并排序以最坏情形的运行时间运行,而所使用的比较次数几乎是最优的。它是递归算法的一个很好的实例。 这个算法中的基本操作是合并两个已排序的表。因为这两个表是已排序的,所以若将输出放到第三个表中,则该算法可以通过...

2013-11-02 13:18:55

阅读数:2342

评论数:4

技术不牛如何才拿到国内IT巨头的Offer

不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标...

2013-10-30 20:58:04

阅读数:4950

评论数:7

经典排序算法分析和代码-上篇

前言:这一篇文章中我们将讨论数组排序的问题,对于数据量比较大的,不能在内存中完成排序的,必须在磁盘上完成排序类型叫作外部排序,本篇将不讨论。对于内部排序的一些相关知识:存在几种容易的算法以排序,如插入排序。有一种算法叫做谢尔排序(ShellSort),它编程非常简单,以运行,并在实践中很有效。还有...

2013-10-30 13:36:55

阅读数:3092

评论数:0

基于Visual C++2013拆解世界五百强面试题--题18-程序结果分析2-终结篇

第二部分程序结果分析,分析流程还是写入代码注释中分析下面程序的输出:#include int main() { char *a = "hello"; char *b = "hello"; if (a == b) printf("YES...

2013-10-27 15:53:01

阅读数:2216

评论数:0

基于Visual C++2013拆解世界五百强面试题--题17-程序结果分析1

分析程序结果,分析过程我们就写在程序注释里面。写出下列代码的输出内容#include int inc(int a) { return (++a); } int multi(int *a, int *b, int *c) { return (*c = *a * *b); } type...

2013-10-27 15:10:10

阅读数:1992

评论数:0

基于Visual C++2013拆解世界五百强面试题--题16-进制分析

清写出下列代码的输出内容#include int main() { int a = -1, b = -12, c = -123, d = -1234; printf("%d,%d,%d,%d,%u,%u,%u,%u\n", a, b, c, d, a, b, c, d...

2013-10-25 16:55:38

阅读数:2283

评论数:0

基于Visual C++2013拆解世界五百强面试题--题15-递归相加

有一分数序列: 1/2 , 1/4 , 1/6 , 1/8 ......,用递归的方法,求此数列20项之和.可以看出规律:每一项位1/n*2这个很容易些递归,但是要注意一点,使用浮点数相除保存:下面上代码:#include double fun(int i) { //如果是第一项直接返回结...

2013-10-25 16:51:13

阅读数:2142

评论数:0

基于Visual C++2013拆解世界五百强面试题--题14-循环删除

有一个数组a[1000]存放0-1000,要求每隔二个数删除一个数,到末尾时循环到开头继续进行,求最后一个被删掉数的原始下标。看到题目可以用循环链表保存这些数,然后循环删除,大大减少了一些复杂的边界判断。下面上代码,看链表建立和删除的具体过程:#include #include typed...

2013-10-25 16:45:09

阅读数:3144

评论数:1

基于Visual C++2013拆解世界五百强面试题--题13-找最大公共子字符串

编程实现:找出两个字符串中最大公共子字符串,如"abccade"和"dgcadde"的最大子字符串为"cad"。如果不考虑效率的话直接比较,设置一个指针指向最大公共字符串,一个变量保存最大公共子字符串的长度。然后用第二个字符串的所有子字符...

2013-10-25 16:37:59

阅读数:2481

评论数:0

基于Visual C++2013拆解世界五百强面试题--题12-进制转换

编程实现,把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列库函数。转换成二进制,直接循环移位依次取每一位,判断1或0然后将相应字符放入字符串缓冲区中。对于十六进制,每一位数字符对应四位,可以每次取四位,判断相应字符放入字符串缓冲区中。理解了基本原理下面直接上代码:#...

2013-10-25 16:25:12

阅读数:2253

评论数:0

基于Visual C++2013拆解世界五百强面试题--题11-查找数字出现次数

在排序数组中,找出给定数字出现的次数比如{ 1, 2, 2, 2, 3}中2的出现次数是3次我们可使用二分查找发,分别查找出2最先出现的位置和最后出现的位置相减即可。下面是上代码:#include //二分法获取元素最后出现的位置,可能在元素的下一位 int GetHigh(int arra...

2013-10-24 18:01:02

阅读数:2134

评论数:1

基于Visual C++2013拆解世界五百强面试题--题10-找出N个数种最大的K个数

有一亿个整数,请找出最大的 1000 个,要求时间越短越好, 空间占用越好越好。如果不考虑时间效率,很容易想到解决方法,我们只需存储前一千个数,然后依次读入后面的数和这一千个数组比较,替换其中比较小的数即可,但是这样时间复杂度比较高,如果用二叉堆实现,直接可以替换1000个数中最小的数字,而消耗的...

2013-10-24 15:55:30

阅读数:3686

评论数:0

基于Visual C++2013拆解世界五百强面试题--题9-找出所有的排列方式

给出一个函数来输出一个字符串的所有排列按照排列组合的知识我们知道N个字符排列组合个数有n!种,那么可知f(n) = n*f(n-1),如果{1,2}的组合有两种,12,21,那么{123}的组合可以简单的插入{12}组合的任意位置:312,132,123321,231,213可以看到3分别插入前面...

2013-10-23 17:38:58

阅读数:2488

评论数:0

基于Visual C++2013拆解世界五百强面试题--题8-数组的排序和查找

用三种方法实现对一个数组的排序,并设计一个函数实现数的查找,要求时间越短越好,空间占用越少越好。对数组排序的方法很多,我们选比较常用和容易的三种排序,直接插入排序,冒泡排序和快速排序。直接插入排序:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序冒泡排序:比较相邻的元素。...

2013-10-23 11:43:19

阅读数:2086

评论数:0

基于Visual C++2013拆解世界五百强面试题--题7-链表的各种操作

请用C实现一个链表,实现链表的查找,逆置,替换,删除,添加,清空,创建。查找、替换和删除、添加里面都会用到遍历链表的操作,所以重点在于遍历,链表的逆置和清空考虑到效率,我们可以用递归实现,至于创建节点,我们直接创建一个空节点作为头节点,不使用其数据域。下面直接上代码:#include #incl...

2013-10-22 17:23:13

阅读数:3114

评论数:5

基于Visual C++2013拆解世界五百强面试题--题6-double类型逆序

请设计一个函数,不许用到字符串函数,用数学运算,将double类型数据转换,例如123.456转换成654.321首先想到依次提取他的每一个位数,然后进行运算,移动每一位数到相应位置,结果相加就能逆序double数下面上程序:#include #include #include double Co...

2013-10-21 16:52:25

阅读数:2585

评论数:1

基于Visual C++2013拆解世界五百强面试题--题5-自己实现strstr

请用C语言实现字符串的查找函数strstr, 找到则返回子字符串的地址,没有找到返回为空,请用数组操作与指针操作实现看到题目想到最简单的方法就是母字符串和子字符串比较,如果不通,将指向母字符串的指针向前移动,继续查找,下面我们分别用数组操作与指针操作实现。国际惯例,参考前面文章新建一个vs2013...

2013-10-21 14:48:51

阅读数:2347

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭