c/c++
文章平均质量分 72
ChallenChenZhiPeng
【人生有很多路要选】选中一条,走下去,便会碰见这条路上的人和风景;而选择另一
条,则是完全不同的风景与人。有的人可能与你一起走,有的人留在原地;一起走的人,也
可能在下个路口与你分开。没什么可哀叹的,这是人生的必然,珍惜身边与你一起看风景的
人,并在下一个分别路口,洒脱地用力地挥挥手。
展开
-
C++ 基础概念(总结)
1. 类及其成员——封装(encapsulation)2.基类与派生类——继承(Inheritance)3.this指针:成员函数有一个隐藏参数,名为this指针class CShape{...public: void setcolor(int color){m_color=color;}};编译后,其实是:class CShape{...p原创 2012-12-27 11:26:59 · 907 阅读 · 0 评论 -
linux gcc详解
转自: http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.htmlgcc -c a.c 编译成目标文件a.ogcc -o a a.o 生成执行文件a.exe1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4转载 2014-12-27 15:41:19 · 910 阅读 · 0 评论 -
C语言中extern的用法
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,不只是取决于在a.c转载 2015-03-19 16:17:02 · 584 阅读 · 0 评论 -
排序算法实现
#include #include using namespace std;#define MAX 6#define MAXLEN 100 //哨兵 // 3 9 6 1 7 4int a[MAX];int b[MAX];//0: print the arrayvoid printArray( ){ //打印数组 for ( int i = 0; i<原创 2014-08-04 19:16:16 · 683 阅读 · 1 评论 -
malloc/free与new/delete的区别
malloc/free与new/delete的区别相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/fr转载 2013-09-11 09:57:27 · 666 阅读 · 0 评论 -
malloc()和calloc() realloc()
函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size);calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void *calloc(size_t numElements,s转载 2013-09-11 09:55:25 · 749 阅读 · 0 评论 -
BST(Binary Search Tree,二叉查找树,二叉排序树)c的实现(部分函数不知如何调用)
#include #include #include using namespace std;typedef struct node { int key; struct node *LChild,*RChild,*Parent; }BSTNode,*BSTree; void CreatBST(BSTree *bst);BSTree SearchBST(BSTree原创 2013-07-30 10:33:48 · 2268 阅读 · 0 评论 -
栈(2种语言实现 c/java)
#include #include using namespace std; #define STACKSIZE 100 #define STACKINCREMENT 10 typedef struct{ int *base;//栈底指针 int *top;//栈顶指针 int stacksize;//当前已分配的空间原创 2013-07-25 22:42:58 · 788 阅读 · 0 评论 -
windows 多线程 c语言 第一个实现 呼呼
#include #include #pragma comment(lib, "pthreadVC2.lib") #include void *thread(void *args) { void *a=NULL; int i; for(i=0;i<3;i++) printf("This is a pthread.\n"); return a;}原创 2013-07-30 14:44:48 · 2511 阅读 · 0 评论 -
quicksort快速排序(3种语言实现 c/java/python)
#include #include using namespace std; int heapsize=4;//数组长度,数组下标从1开始记,否则计算下标为0的孩子结点的下标麻烦int partition(int *a,int p,int r){ int x=a[r]; int i=p-1; for(int j=p;j<r;j++){ if(a[j]<x){ i++;原创 2013-07-19 22:34:57 · 1210 阅读 · 0 评论 -
heapsort堆排序(3种语言实现 c/java/python)
#include #include using namespace std; int heapsize=4;//数组长度,数组下标从1开始记,否则计算下标为0的孩子结点的下标麻烦int j=0;void maxHeapify(int a[],int i){ //使以a[i]为根的子树成为最大堆 //假设以a[left]和a[right]为根的2棵二叉树都是最大堆 int left原创 2013-07-19 20:52:30 · 1159 阅读 · 0 评论 -
mergesort合并排序(3种语言实现 c/java/python)
/*合并排序:merge sort 1.分解Divide:将n个元素分成各含n/2个元素的子序列 2.解决Conquer:递归 用合并排序法对2个子序列递归的排序 3.合并Combine:合并2个已排序的子序列以得到排序结果*/#include #include using namespace std; #define N 8#define MAX 100 //哨兵原创 2013-07-17 23:40:33 · 1359 阅读 · 0 评论 -
插入排序(3种语言实现 c/java/python)
#include #include using namespace std;void insertSort(int a[]){ int len=6;//数组长度 int key; for(int j=1;j<len;j++){ key=a[j]; int i=j-1; while(i>=0&&a[i]>ke原创 2013-07-16 23:12:59 · 924 阅读 · 0 评论 -
编制动态数组的模板类
// MyStl.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include using namespace std;template class MyArray{private: int m_nTotalSize;//数组总长度 int m_nValidSiz原创 2013-03-06 10:40:19 · 1295 阅读 · 0 评论 -
C/C++ 堆 栈内存分配
内存分配方面:堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样代码 中的delete语句才能正确的释放本内存空间。我们常说的内存泄露,最常见的就是堆泄露(还有资源泄露),它是指程序在运行转载 2013-01-10 21:17:42 · 929 阅读 · 0 评论 -
ifndef/define/endif作用和用法
问题:ifndef/define/endif”主要目的是防止头文件的重复包含和编译,偶只知道这个概念不懂的是怎么个用法,和为什么要用它~~高手请指点一下~~谢谢~~~!!!--------------------------------------------------------------------------------------------------用法:.h文转载 2015-03-13 10:35:37 · 801 阅读 · 0 评论