数据结构/算法
文章平均质量分 72
王胜飞
一个人的朝圣
展开
-
结构体定义:struct与typedef struct 用法详解和用法小结
一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT; typedef int ARRAY[10]; typedef (int*) pINT; typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。 二、#define的用法转载 2016-06-24 17:03:48 · 600 阅读 · 0 评论 -
定义结构体指针时,有没有同时分配存储空间?
前言问题的来源于在学数据结构的时候,C++的语法和C语言的语法竟然不一样。1.首先函数的参数有两种传递方式,一个是值传递,一个是地址传递。当指针作为参数传递的时候,即为地址传递,但C++写的时候需要加&引用符号,而C语言却不用。2.本文谈的是这个问题,即为当声明一个结构体指针时,为什么还有new(C++)或者malloc()这种语句,一直搞不清楚,后台问bb,然后百度了一下,才明白原创 2016-06-24 17:29:58 · 6869 阅读 · 1 评论 -
浅谈结构体如何分配内存
今天把操作符sizeof用了个遍,各种类型基本都用了,最后发现结构体类型最麻烦。下面直接进入主题:(1)先是定义了如下结构体: struct{ char a; int i; double d; }text; 然后用sizeof(text),预期结果是1+2+8 = 11?转载 2016-06-22 23:54:42 · 1690 阅读 · 0 评论 -
一道笔试题[错排问题]
有5个人ABCDE排队,排好后他们决定重新排队,每个人都不在原来的位置上,那么总共有多少种排法?( )解法一:假设5个人都不站在原来的位置上可能情况为f(5):f(5)=5!-1-(5,1)*f(4)-(5,2)*f(3)-(5,3)*f(2)上式第一项为所有可能的情况,第二项为所有都在原位,第三项为1人在原位,第四项为2人在原位,第五项为3人在原位,即所有可能站位情况原创 2017-04-17 22:52:33 · 2797 阅读 · 0 评论 -
数组去重
相似问题:1.给一个数组,去掉重复的2.给一个数组,把重复的元素都删了,只要出现一次的3.求出一个数组中出现次数最多的元素和次数在此仅提供一个比较好记忆的方法,首先定义个对象,对象的键保存数组的元素,值保存出现的次数,遍历数组将数组的信息填写进对象中,如果某元素出现一次,对象的这个键名就加一。最后根据需求遍历这个对象即可;问题1 function test(arr){原创 2017-08-29 17:14:51 · 438 阅读 · 0 评论