《剑指office》习题
文章平均质量分 56
gogogo_sky
不积跬步,无以致千里;不积小流,无以成江海
展开
-
自我检测3
1模拟实现strncpy: 详见:我的博客《字符串操作函数模拟实现大全》; 2.模拟实现atoi函数,将数字字符串自动转化为十进制数字输出: 例如给出字符串“12345”,输出12345.《剑指office》习题 程序实现: #include #include #include int my_atoi(const char* str) { int flag=1; int ret=0;原创 2016-05-21 03:13:37 · 356 阅读 · 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 · 435 阅读 · 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 · 312 阅读 · 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 · 559 阅读 · 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 · 275 阅读 · 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 · 371 阅读 · 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 · 227 阅读 · 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 · 372 阅读 · 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 · 1226 阅读 · 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 · 311 阅读 · 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 · 1068 阅读 · 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 · 348 阅读 · 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 · 358 阅读 · 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 · 382 阅读 · 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 · 447 阅读 · 0 评论 -
二维数组中的查找
一、题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 二、代码:#include<iostream> using namespace std; #include<cassert> bool Find(int* arr,int row,int col,int n) {原创 2017-04-30 14:46:42 · 294 阅读 · 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 · 4652 阅读 · 1 评论