C++
火炬手1128
这个作者很懒,什么都没留下…
展开
-
c/c++程序在内存中的分布
一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、转载 2014-01-09 21:09:49 · 457 阅读 · 0 评论 -
字符串移位
字符串循环移位:假设有一串字符串a,b,c,d,e,f,g,h,向左循环移位2为,得c,d,e,f,g,h,a,b。#includeusing namespace std;void reverse(char* a, int start, int len){ int count = 0; for(int i = start, j = start + len -1; ; ++i, --原创 2014-09-28 09:54:27 · 623 阅读 · 0 评论 -
求100以内的素数
#includeusing namespace std;bool isPrime(int val){ int i; for(i = 2; i < val; i++){ if(val%i == 0){ break; } } if(i == val) return true; else return false;}void mark(int* arrays原创 2014-09-02 10:38:25 · 586 阅读 · 0 评论 -
简单选择排序
简单选择排序原创 2014-09-03 21:16:01 · 526 阅读 · 0 评论 -
约瑟夫环问题
这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是非教徒。原创 2014-09-03 11:16:41 · 606 阅读 · 0 评论 -
关于编译器4字节对齐方式比较
所谓的字节对齐,就是各种类型的数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这个就是对齐。我们经常听说的对齐在N上,它的含义就是数据的存放起始地址%N==0。具体对齐规则会在下面的篇幅中介绍。首先还是让我们来看一下,为什么要进行字节对齐吧。各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU,诸如SPARC在访转载 2014-09-10 21:18:00 · 2856 阅读 · 0 评论 -
阿里2015年校园招聘笔试题
阿里巴巴2015校园笔试题原创 2014-09-05 21:16:10 · 1084 阅读 · 1 评论 -
冒泡排序
冒泡排序就是整个过程就像气泡一样上升,单向冒泡排序的基本思想(假设由小到大排序):对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换其位置,进行一轮的比较和换位置后,n个记录中最大的数位于第n个位置;然后对前n-1个记录进行第二轮的比较;重复该过程直到最后剩余一个元素为止。原创 2014-06-21 19:18:08 · 605 阅读 · 0 评论 -
插入排序
对于给定的一组记录,初始时假设原创 2014-06-20 20:50:04 · 426 阅读 · 0 评论 -
归并排序
#includeusing namespace std;void merge(int *a, int p, int q, int r){ int m = q + 1; int k = p; int *b1 = new int[q-p+1]; int *b2 = new int[r-m+1]; for(int i = p,j = 0; (i < m)&&(j<q-p+1); i++原创 2014-06-21 21:20:05 · 427 阅读 · 0 评论 -
选择排序
选择排序是一种简单直观原创 2014-06-20 09:51:50 · 428 阅读 · 0 评论 -
使用C写Python的模块
概述引入 Python.h 头文件编写包装函数处理从 Python 传入的参数实现逻辑功能处理 C 中的返回值注册函数注册模块编译原文发于2010年11月。1. 概述Python 可以非常方便地和 C 进行相互的调用。一般,我们不会使用 C 去直接编写一个 Python 的模块。通常的情景是,我们需要把 C 的相关模块包装一下,然后在 Python 中可以直接调用它转载 2016-06-20 17:45:08 · 652 阅读 · 0 评论