此代码演示函数指针的例子,再windows下,利用gcc命令编译;
1 /*******************************************
2 * this file is to test function pointer
3 *
4 *************
八皇后问题 :假设 將八个皇后放到国际象棋盘上,使其两两之间无法相互攻击。共有几种摆法?
基础知识:
国际象棋里,棋盘为8X8格。
皇后每步可以沿直线、斜线 走任意格。
思路:
1.想把8个皇后放进去,肯定最终每行只有一个皇后,每列只有一个皇后。
2.设个二维数组chess [ i ] [ j ]
原文链接:http://blog.csdn.net/qq_38646470/article/details/794316591.概念:
如果想判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储
原文链接:http://blog.csdn.net/qq_38646470/article/details/79427038[1.什么是位图? 2.位图的用处? 3.位图的结构 4.位图题目操练 5.总结(优缺点分析)]1.什么是位图?
位图就是bitmap的缩写。所谓bitmap,就是用每一位来存
开散列法又叫链地址法(开链法)。
开散列法:首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子集合,每一个子集合称为一个桶,各个桶中的元素通过一个单链表链接起来,各链表的头结点存储在哈希表中。
设元素的关键码为37, 25, 14, 36, 49, 68, 57, 11, 散列表
今天发现了一个Intel逻辑左移指令shl的一个bug。
逻辑左移的概念是对给定的目的操作数左移COUNT次,每次移位时最高位移入标志位CF中,最低位补零. 其中OPRD1为目的操作数, 可以是通用寄存器或存储器操作数。
首先说明一下我的环境:Intel(R) Pentium(R) 4 CP
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
顺序搜索以及二叉树搜索树中,元素存储位置和元素各关键码之间没有对应
最近做一个工具,在整改函数时需要给一个全局变量赋值
RadixNode *g_pstRootBase
赋值的来源为已定义的结构体:TreeSet treeSet = {0}中的trSet->tNameSet[i].tName地址(其中i为变量。
以下是trSet结构体的定义:
typedef
http://blog.csdn.net/yang_yulei/article/details/46337405
在各种数据结构(线性表、树等)中,记录在结构中的相对位置是随机的。因此在机构中查找记录的时需要进行一系列和关键字的比较。这一类的查找方法建立在“比较”的基础上。查找的效率依赖于
strlen实现:
1 int my_strlen(char *str)
2 {
3 char *tmp = str;
4 while (*str)
5 {
6 str++;
7 }
8 return str - tmp;
字符串遍历:
案例一:#include <stdio.h>
int main(void){
int a[5];
printf("please input sort number:");
int k;
for(k=0;k<5;k++)
{
scanf("%d",&a[
最近看到一个比较好的 eclipse 插件:embsysregview,于是想装起来用用看。结果安装过程出错,4个 jar 的包下载不下来,并且通过本地安装的方法也不行。
后来终于找到作者的回复,作者的意思是 一切都是网址的错误。
我们只能修改安装插件的网址为 http://embsysregvie
https://www.patest.cn/contests/pat-b-practise/1038
#include <cstdio>
int cnt[110];
int temp[100010]; //k次查询,每次查询的结果都保存了起来 开太小则越界
int main(){
我们以 printf 这个 very 熟悉的函数为例,来分析一下变参函数。先看下 printf 函数的定义:
int printf(const char *fmt, ...)
{
int i;
int len;
/* va_list 即 char * */
va_li
https://www.patest.cn/contests/pat-b-practise/1036
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,col,row,t1;
double t2;
c
我们都知道,C++才是面向对象的语言,但是C语言是否能使用面向对象的功能?
(1)继承性
1 typedef struct _parent
2 {
3 int data_parent;
4 }Parent;
5 t
gets() 与 scanf() 函数相处呢有点小尴尬的,就是 gets() 在 scanf() 后边就爱捣乱。为什么呢,先了解它们两者之间的异同:
同: 都是可以接受连续的字符数据 并在字符结束后自动加上 '',标志结束接受
异:
scanf 不能接受空格、制表符Tab、
https://www.patest.cn/contests/pat-a-practise/1036
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,i,gra,boyc = 0,girlc =
1.为什么会写memcpy
在之前的应聘笔试上遇到一道笔试题,题目要求实现一个my_memcpy函数。函数原型:void * my_memcpy(void *dst, const void *src, int n);
之前使用的内存拷贝函数是标准库memcpy函数,拿来就用,真没
1.首先来讲讲函数
其实每个函数名,都是函数的入口地址,如下图所示:
其中0x4013B0就是上图的func()函数的入口地址,从上图可以看到,func和&func的地址都一样,所以&对于函数而言,可以不需要
2.接下来便使用函数指针来指向