面试中常常会遇到算法的问题 而基础算法的考核离不开链表和二叉树,下面是对这两种数据结构常见问题的总结1、链表#include
#include
#include/*
链表的总结 插入 删除以及遍历
以及链表相关的应用
*/// 链表的结构// 插入 若第一个节点为空则需啊替换 所以传递的参数必须是指针的指针 否则修改无效stru...
分类:
编程语言 时间:
2015-04-11 00:02:16
阅读次数:
209
个人总结:1.int **p和 int a[M][N]之间的区别: 1) int **指向指针的指针;而后者的类型是数组名,类型为 int (*)[N],即指向的是整个一行。 2) (a+1) 地址增加M*sizeof(int),需要注意的一点是a[i]是第i行开头的地址,&a和a的值是一样的。数组...
分类:
编程语言 时间:
2015-04-07 21:35:37
阅读次数:
218
我想实现:有一引用变量,如ObjectA;然后有一个数据块,比如用结构体记录一些信息,其中包括A的引用信息。然后一个程序段通过操作这个数据块,能够给A付值。这在C++里应该比较容易实现,比如用指向指针的指针等,但在C#里好像没有实现的方法。C++例子大概如下:classA{}A*a;structX{...
个人总结:1.int **p和 int a[M][N]之间的区别:1) int **指向指针的指针;而后者的类型是数组名,类型为 int (*)[N],这两者类型不同;2)(a+1) 地址增加M*sizeof(int),需要注意的一点是a[i]是第i行开头的地址,&a和a的值是一样的。数组是有大小的...
分类:
编程语言 时间:
2015-04-06 14:13:14
阅读次数:
179
本文摘要: 本文主要讲述C语言中的数据类型,从基本的数据类型到派生的数据类型,从int ,char ,float double ....到指针,数组,函数,指向指针的指针,指向数组的指针,指向函数的指针,指针与数组的区别,指针作为函数参数,函数作为函数参数。作为例子,本文将通过通用链表结构来说明v....
分类:
编程语言 时间:
2015-03-29 00:26:30
阅读次数:
227
char**argv和char*argv[]可以认为基本一样(当然这两者是有些区别的,但大部分情况下可认为是一样的).我对argv的理解是:argv是一个指向字符串指针的指针。所以,假设:char*p="aaaa";char**argv=p;则:argv=&p(argv存储的值就是p的地址)*argv=p(argv取值就是p所指向的地..
分类:
其他好文 时间:
2015-03-19 18:38:09
阅读次数:
146
// 我给大家开辟一个 vis[nl][nc]的 bool类型数组, 这种方法开辟的数组内存并非连续, 但是影响不大
bool **vis;
//指向指针的指针vis
vis = new bool*[nl];
//使得vis指向nl个bool类型的指针, 即后面的vis[i]
for (int i = 0; i != nl; i++) vis[i] = new bool[nc];
//使得...
分类:
编程语言 时间:
2015-03-10 17:26:25
阅读次数:
174
一个函数形如:void f(float **p){/* 想要在函数体中按二维数组的方式访问*/ p[1][1] = 0;//c++用vc编译ok,运行出错(非法访问)}float **p; //其实这里的p并不是一个二位数组的指针,只不过是一个指向指针的指针像你这样访问肯定是会出问题的。例如:flo...
分类:
编程语言 时间:
2015-03-07 11:34:58
阅读次数:
147
要修改变量的值,需要使用变量类型的指针作为参数或者变量的引用。如果变量是一般类型的变量,例如int,则需要使用int 类型的指针类型int *作为参数或者int的引用类型int&。但是如果变量类型是指针类型,例如char*,那么需要使用该类型的指针,即指向指针的指针类型 char* *,或者该类型的...
分类:
编程语言 时间:
2015-03-03 13:28:58
阅读次数:
211