C与指针

第2章 基本概念 1. 程序的执行过程 经历几个阶段:首先是载入到内存中。在宿主环境中(具有操作系统的环境),这个任务由操作系统完成。那些不是存储在堆栈中的尚未初始化的变量将在这个时候得到初始值。在独立的环境中,程序的载入必须由手工安排,也可能是通过把可执行代码置入只读内存(ROM)中来完成。...

2015-09-14 17:25:58

阅读数 270

评论数 0

C程序设计-现代方法

《C程序设计-现代方法》这本C语言书是一本不错的C语言的书。其中的讲解挺有条理,并且每章后面的释疑部分真的解答了我的很多疑问。 第2章 C语言基本概念 1. 在某些C语言的书中,main函数的结尾使用的是exit(0),而不是return 0,二者是否一样?     当出现在main函数...

2015-09-14 17:24:29

阅读数 447

评论数 0

C Primer Plus

这是《C Primer Plus(第5版)》的一些阅读笔记,以后可以经常看看,复习一下C语言。 第一章 概览 1. 目标代码、可执行文件和库    2.  编译器环境  (1)Unix系统上所用的编译器是cc (2)Linux系统上使用gcc编译器 (...

2015-09-14 17:21:50

阅读数 849

评论数 0

C语言接口与实现[+]

第1章 简介 1. literate程序 2. 宏指令与条件编译指令 第2章 接口与实现 1. 接口与实现的关系 2. Arith接口及实现: arith.h: /* $Id: H:/drh/idioms/book/RCS/inter.do...

2015-09-14 17:16:04

阅读数 1778

评论数 0

剑指Offer-第2章 面试需要的基础知识

面试题1: 赋值运算符函数 一般的写法是如下形式:   CMyString& operator=(const CMyString& str){ if(this!=&str){ delete...

2015-09-14 17:09:45

阅读数 281

评论数 0

算法题集-1

下面几个算法题是摘自《C语言实战105例(2006)》。但是有些解答开始没有看懂,然后从网上找了一些解答。 1.储油问题 20 程序如下: #include #define MAX_STATION_NUM 32 /*定义最大允许的储油点数目*/ i...

2015-09-14 17:07:53

阅读数 625

评论数 0

概率与随机函数问题

首先我们来一道最简单的题目作为引子  1、已知有一个随机函数rand_0_and_1_with_p(),它能以概率p产生0,以概率1 - p产生1,只使用该函数,设计一新的随机函数,要求以等概率产生1和0。  我们知道,运行rand_0_and_1_with_p()函数一次,那么P(0) = ...

2015-09-14 17:05:15

阅读数 319

评论数 0

原地归并算法

归并排序算法(mergesort)是将一个序列划分为同样大小的两个子序列,然后对两个子序列分别进行排序,最后进行合并操作,将两个子序列合成有序的序列.在合成的过程中,一般的实现都需要开辟一块与原序列大小相同的空间,以进行合并操作。这儿有比较全的排序算法:http://www.cnblogs.com...

2015-09-14 17:04:30

阅读数 354

评论数 0

序算法时间测试比较

之前介绍过常见的排序算法,可以查看这里 之前实现的代码都是针对int型的算法,现在我将代码改写成了模板,这样可以应用于常见的一些类型。 为了测试比较不同的排序算法,采用了两种计时方式。注意,下面的两段代码中,void(*_sort[])(T*,int) 是函数指针数组。 1. 采...

2015-09-14 17:03:06

阅读数 271

评论数 0

如何判断整数x的二进制中含有多少个1

主要是利用位操作来判断每一位是否为1 方法一: 清除整数a最右边的1可以使用这个操作:a&(a-1)  所以可以利用这个方法来得到1的个数: int count_one(unsigned x){     int count=0;     while(x)...

2015-09-14 16:59:53

阅读数 343

评论数 0

排列组合算法

排列组合是常见的一个问题。 1. 排列算法 这个主要采用递归的方法来解决。      具体代码如下: void swap(int& a,int& b)                                      {     ...

2015-09-14 16:58:58

阅读数 243

评论数 0

字符串循环移位

首先,先看看如何对数字进行循环移位 C语言中没有提供循环移位的操作符,但可以通过简洁的方式实现循环移位,主要使用移位操作来实现。 设一个操作数x有s位则循环左移n位的操作为: (x > (s - n)); 同理右移n位位: (x >> n) ...

2015-09-14 16:58:13

阅读数 339

评论数 0

三种算法求解一个数组的子数组最大和

题目:要求一个数组连续下标和的最大值,数组的元素可正、可负、可为零,例如-2,5,3,-6,4,-8,6将返回8。 这题是很经典的一道面试题,也有各种解法,从算法分析上,时间复杂度也有很大差别,下面我就给出三种不同的解法。 方法一:暴力枚举法 此种方法最简单,我想应该也是每个...

2015-09-14 16:57:24

阅读数 230

评论数 0

计算平方根的算法

总结一下一些常用的计算平方根的方法 1.  牛顿法 具体的做法如下:   计算公式如下:  具体的计算程序如下:  double sqrt_(double x)          {     double g=x;     while...

2015-09-14 16:56:05

阅读数 466

评论数 0

判断出栈序列是否合法

部分内容来自互联网:  【问题描述】对于一个栈,已知元素的进栈序列,判断一个由栈中所有元素组成的排列是否是可能的出栈序列。 比如,进栈序列为1 2 3 4,则可能的出栈序列有4 3 2 1,1 4 3 2等。而1 4 2 3就不是。 【输入形式】从标准输入读取第一行是一个整数N(3≤...

2015-09-14 16:55:15

阅读数 349

评论数 0

约瑟夫环问题

约瑟夫环问题:有编号从1到N的N个人坐成一圈报数,报到M的人出局,下一位再从1开始, 如此持续,直止剩下一位为止,报告此人的编号X。输入N,M,求出X。 对于这个问题,有很多解法。包括一些基本的解法和一些优化的算法。 基本解法一: 这个方法比较直观,就是使用循环列表来模拟约瑟夫环...

2015-09-14 16:54:32

阅读数 211

评论数 0

领会一些比较巧妙的算法

昨天看到了一些比较巧妙的算法,觉得挺不错的。 参考:http://blog.csdn.net/csdn_zc/article/details/6776929 1. 素数判断  作者给出了几种方法。  方法一: int isPrime(int n) //...

2015-09-14 16:53:26

阅读数 579

评论数 0

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