在编程的世界中数据结构和算法总是形影不离, 难舍难分的. 栈作为一种常见的数据结构(抽象数据类型)在程序的世界中有非常的意义. 栈 在计算机科学中,栈是一种抽象数据类型(ADT / Abstract Data Type),用作数据的集合表示.栈有两个主要的操作 push用于将元素推入栈中 pop 用于将元素从栈顶部弹出 简单来说,栈就是一个后入先出(LIFO / Last In First Out

算法   c  

哈希表(Hash table,也叫散列表),是根据键(Key)而直接访问在内存存储位置的数据结构。 也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。 这个映射函数称做散列函数,存放记录的数组称做散列表。 ————维基百科 在一些合理的假设下,在哈希表中的所有操作的时间复杂度可以简单看作O(1)。它通过计算一个键的哈希值来快速定位键值在哈希表的

c   linux   哈希表  

这个念头是这样产生的,我帮室友的同学写一个表白程序(!),完成后类似于这样: 这时候,强迫症就犯了:如何把那一快表白无关的代码给藏到头文件里面,只留一个心在.c文件里?由于是给人家的,若是还有个头文件感觉不太好。而且,若是可以实现包含远程头文件的话,做 OJ 的题目的时候就好玩了,因为 OJ 只能交一个文件。想想,你把一大堆代码放在头文件里边,交上去的只有个main()函数那该多爽:) 首先尝试

linux   c  

本文翻译自NVIDIA官方博客Parallel Forall,内容仅供参考,如有疑问请访问原网站:https://devblogs.nvidia.com/p... 在前三篇文章中,我们已经为如何优化CUDA C/C++代码系列文章的主要内容做了铺垫。在这篇和之后的文章中,我们会讨论如何在提高主机和设备之间数据传输效率方面进行代码优化。设备内存和GPU之间的最大带宽(例如NVIDIA Tesla C

并行   cuda   c   c++  

基本线程的动作 继续之前C语言线程的文章:文章1 文章2 来了解基本的线程操作。 设置线程属性 设置脱离状态 下面代码中关键的地方在于: 通过 res = pthread_attr_init(&thread_attr); 初始化一个线程属性 通过 res = pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); 将属

c   python  

完整程序文件下载:https://cos.mcmxzl.com/%E5%85... 主程序: /*********************************************************************** 超声波测距仪 MCU是STC89C52RC LCD1602A(16*2)模拟口线接线方式 连接线图: ------------

c   单片机  

众所周知,realloc() 的作用就是将已经 malloc 的内存块,重新扩展加长。当你并没有使用高端的内存池的时候,临时从堆中申请加大内存,这是很有用的。但是如何正确地使用 realloc() 呢? Reference realloc 用法 调用方法 函数原型 #include <stdlib.h> void *realloc(void *ptr, size_t size); 传入参数: (

内存管理   malloc   c  

本文是「在 C 的世界之外」这篇文章的一个大的背景。 foo 假设在一个名曰 foo 的函数的内部需要计算点距: void foo(void *x, void *y, ...) { ... 略去若干行 ... /* 此处是计算点距的代码,暂时不知如何写*/ ... 略去若干行 ... } foo 所接受的两个参数

c   泛型   gnu-m4   m4  

函数指针和指针函数 指针函数的本质是一个函数,只不过其返回值是一个指针类型的变量。如 #include <stdio.h> #include <stdlib.h> int *max(int x,int y);//声明函数原型,返回值为int型指针 int main(int argc, const char * argv[]) { printf("Hello, World!\n");

c  

前阵子从一家开源硬件公司离职,出来后自己做了一个板子,自己玩没意思,打算把它开源出来跟大家一起玩。 设计图 先来几张渲染图过过瘾吧: 这到底是什么鬼? 首先我得强调一下,这不是鬼,我给这个项目取了一个名字:YS-Beacon。这是一个能够帮助开发者“hack your life”的利器。如果你对此将信将疑,且看我慢慢道来。 这是一款集成了多种传感器的开源 Beacon 硬件,基于Nordic最新一

c   开源硬件   beacon   传感器   蓝牙  
1 2 3 4 5 6 7 8 9