数据结构与算法
52coder
道貌何其深,岸然唯我真
展开
-
栈的应用:数制转换
数制转换:十进制数N和其它d进制数的转换是计算机实现计算的基本问题,其解决方法很多,其中一种简单方法基于以下原理.N=(N div d)*d+N mod d (其中:div为整除运算,mod 为求余运算.)例如:10进制数1348转换为8进制为:2504.其运算过程如下:N N div d N mod d1348 168 4168 21 021 2 52 0 2原创 2012-07-26 00:10:06 · 1417 阅读 · 0 评论 -
折半查找
4.21号去参加阿里的实习生招聘,投递的岗位是c/c++方向,下午2点,我悠闲的从学校北门前往悦豪酒店,走到酒店后扫描二维码,去房间等待面试,面试的内容涉及面非常广。从linux命令,STL ,操作系统,c/c++语法,算法,包罗万象。下午迷迷糊糊面试完基本内容后面试官给了我一张纸和笔让我写两个算法,一:快速排序,二:折半查找。当然快速排序我写的还是很快的,可是当我写折半查找时悲剧发生了.原创 2015-04-30 23:28:44 · 598 阅读 · 0 评论 -
求数组中出现一次的数字
一个数组中只有一个数字出现一次,其余别的数字都出现两次,如何求出这个出现一次的数字?例如数组a[11]={1,2,2,3,3,4,4,5,5,6,6},则出现一次的是1,通过异或算法即可求出.代码如下:int onediffent(int a[],int n){ int temp=0; for(int i=0;i<n;i++) temp=temp^a[i]; printf("原创 2015-05-17 22:57:31 · 966 阅读 · 0 评论 -
C语言实现进度条
今天整理文件发现一个隐藏在硬盘角落里的一段神秘代码,运行之后发现这是一断让我打开眼界的程序。#include <stdio.h>#include <unistd.h>int main(){ int i; for(i=0;i<=100;i+=10) { printf("Percent completed:%3d%%\r",i); sleep原创 2017-08-20 22:15:15 · 3652 阅读 · 0 评论 -
关于作者
在CSDN上发布自己学习工作生活中遇到的问题,记录相关解决方法,如果能帮助到有需要的人我会万分高兴。因为我在工作中遇到了问题,查询中会优先参考CSDN,CSDN的博文帮助我解决了很多问题,在此感谢各位。我的个人博客地址是52coder.net,如果关于文章有任何疑问欢迎留言讨论。关于我:一个半路出家的IT从业人员,一个后知后觉的IT技术人员,现在努力,希望还不晚.目前主原创 2017-08-21 11:53:04 · 309 阅读 · 0 评论 -
TLPI-Chapter 5深入探究文件
原子操作UNIX/Linux系统编程手册第5章深入探究文件I/O,所有的系统调用都是以原子操作方式执行。内核保证系统调用中的所有步骤会作为一个独立操作而一次性加以执行,期间不会为其它进程或线程中断.下面的代码中open并未使用O_EXCL标志,在程序中为了对执行该程序的进程加以区分,打印了进程号。/****************************************原创 2017-09-29 01:40:06 · 288 阅读 · 0 评论 -
替换空格
请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入“We are happy.”, 则输出”We%20are%20happy.”。 在网络编程中,如果URL参数中含有特殊字符,如空格、’#’等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在’%’后面跟上ASCII码的两位十六进制的表示。比如空格的ASCII码是32,即十六进制的0原创 2017-12-24 20:43:21 · 454 阅读 · 0 评论