C/C++ Learning

您正在查看: 编程语言 分类下的文章

链表问题集锦

链表问题在面试过程中也是很重要也很基础的一部分,链表本身很灵活,很考查编程功底,所以是很值得考的地方。我将复习过程中觉得比较好的链表问题整理了下。下面是本文所要用到链表节点的定义:struct Node{int data; Node* next;};在O(1)时间删除链表节点题目描述:给定链表的头指针和一个节点指针,在O(1)时间删除该节点。[Google面试题]分析:本题与《编程之美》上的...阅读全文

C/C++获取进程常驻内存大小(get the process resident set size )

1、进程内存接口函数2、接口封装实现#if defined(_WIN32) #include <windows.h> #include <psapi.h> #elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MA...阅读全文

C/C++获取系统物理内存大小

1、各平台调用接口2、接口实现 #if defined(_WIN32) #include <Windows.h> #elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) #include <unistd....阅读全文

ANSI属性控制码(linux彩色终端打印支持)

#ifndef COLOR_H #define COLOR_H#define COLORCLOSE "033[0m" /关闭所有属性/ #define HIGHTCOLOR "033[1m" /设置高亮度/ #define UNDERLINE "033[4m" /下划线/ #define BLINK "033...阅读全文

c语言不常用宏(#、##、...、_ _VA_ARGS_ _)

宏假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizing).incldue <stdio.h>define PSQR(x) printf("the square of" #x "is %d.n"...阅读全文

判断CPU大小端

讲解:所谓大小端,从存储的角度看,低字节存在低地址位就是小端;反之低字节存放在地址的高位则为大端;程序中的一个int数据0x0010,如果CPU为小端则存储为0x0010,0x0010==256;如果为大端的话应该为0x0100;0x0010 == 00000000 00000000 0000001 00000000 高地址 低地址0x0...阅读全文

堆-Heap

堆:1、概念堆(二叉堆)可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性质是,除了最底层之外,每一层都是满的,这使得堆可以利用数组来表示(普通的一般的二叉树通常用链表作为基本容器表示),每一个结点对应数组中的一个元素。 如下图,是一个堆和数组的相互关系堆和数组的相互关系对于给定的某个结点的下标 i,可以很容易的计算出这个结点的父结点、孩子结点的下标:Parent(i) = floor(...阅读全文