《剑指office》习题
gogogo_sky
不积跬步,无以致千里;不积小流,无以成江海
展开
-
自我检测3
1模拟实现strncpy:详见:我的博客《字符串操作函数模拟实现大全》;2.模拟实现atoi函数,将数字字符串自动转化为十进制数字输出:例如给出字符串“12345”,输出12345.《剑指office》习题程序实现:#include#include#includeint my_atoi(const char* str){ int flag=1; int ret=0;原创 2016-05-21 03:13:37 · 386 阅读 · 0 评论 -
链表面试题(二)---链表逆序(链表反转)
一、结构体定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-16 23:15:26 · 465 阅读 · 1 评论 -
链表面试题(十一)---求带环单链表 环的入口点
一、结构体定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-17 01:37:18 · 341 阅读 · 0 评论 -
链表面试题(十)---求带环单链表的环的长度
一、结构体的定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*原创 2017-05-17 01:20:25 · 579 阅读 · 0 评论 -
链表面试题(十三)---求两个都不带环的链表相交的结点
一、结构体定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-17 02:04:27 · 315 阅读 · 0 评论 -
链表面试题(九)---判断一个链表是否带环
一、结构体定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-17 01:12:43 · 393 阅读 · 0 评论 -
链表面试题(八)---约瑟夫环
一、结构体定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-17 01:00:45 · 242 阅读 · 0 评论 -
链表面试题(七)---合并两个有序链表
一、结构体的定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*原创 2017-05-17 00:49:33 · 385 阅读 · 0 评论 -
链表面试题(六)---删除单链表倒数第k个结点
一、结构体定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-17 00:13:55 · 1265 阅读 · 0 评论 -
链表面试题(五)---寻找链表的倒数第k个结点O(N)
一、结构体定义:typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*PList;二、函数实现 思路:定义两个原创 2017-05-17 00:01:51 · 366 阅读 · 0 评论 -
链表面试题(三)---当前结点前插入一个数据x
一、结构体定义typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*PList;二、代码实现: 思路:在当前结原创 2017-05-16 23:24:52 · 1080 阅读 · 0 评论 -
链表面试题(一)---删除一个无头单链表的非尾结点
二、结点的定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-16 22:45:37 · 383 阅读 · 0 评论 -
数值得整数次方--模拟pow函数的功能
1.数值得正数次方 (1)当底数等于0且指数为负数时,错误; (2)当底数任意,指数分为大于等于0,和小于0 1)指数>=0 ,直接求值; 2)指数<0,先给指数取绝对值,然后按照指数为正求值,最后给结果求倒数代码:#include<iostream>using namespace std;double fun(double bash,unsigned int tmp);bool Z原创 2017-05-11 18:16:43 · 391 阅读 · 0 评论 -
链表面试题(十二)---判断两个都不带环的链表是否相交
一、结构体定义typedef int DataType;typedef struct ListNode//定义结点{ DataType data; struct ListNode* next;}ListNode,*PListNode;typedef struct PList//定义一个成员是指向结点的指针的结构体{ PListNode PHead;}PList,*P原创 2017-05-17 01:47:58 · 413 阅读 · 0 评论 -
复杂链表的复制
一、复杂链表 (1)结点 值域+next域+radom随机域 (2)链表图示 二、复杂链表复制 (1)步骤 1)给原来的每个结点创建一个新结点,将其连接在原来结点之后 2)给新创建的结点连接random域 3)分割新结点和原结点 (2)图示 三、代码实现#include<stdio.h>#include<stdlib.h>typedef struct Comple原创 2017-05-04 01:20:47 · 463 阅读 · 0 评论 -
二维数组中的查找
一、题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 二、代码:#include<iostream>using namespace std;#include<cassert>bool Find(int* arr,int row,int col,int n){原创 2017-04-30 14:46:42 · 304 阅读 · 0 评论 -
位运算--求一个 数二进制中1的个数
1.五种位运算:(1)&(与)–有0则0;无0则1; (2)|(或)–有1则1,无1则0; (3)^(亦或)–相同为0,不同为1; (4)>>右移(最右边的位被抛弃) 正数,最左边添0;00001010>>3=00000001 负数,最左边添1;10001010>>3=11110001 (5)<<左移(最左边的位被抛弃)–最右边统一添0; (正数)000原创 2017-05-10 16:50:12 · 4725 阅读 · 1 评论