- 博客(19)
- 收藏
- 关注
原创 初识C++需要知道的几个小知识之缺省参数
缺省参数说明:声明或者定义的时候给函数参数的一个默认值。如果调用函数的时候没有指定实参则采用现在所给出的默认值。void Func(int a = 10){ cout << a << endl;}int main(){ Func(); //没有传递参数时,会使用默认参数10; Func(20); //传递参数,会使用指定的实参20;}调...
2018-11-12 17:26:33 235 1
原创 浅谈5道面试题
1.合并单链表SListNode *MergeOrderedList(SListNode*p1First, SListNode*p2First){ SListNode*p1 = p1First; SListNode*p2 = p2First; SListNode*pNewNode = NULL; if (p1 == NULL) { return p2; } if (p...
2018-09-11 20:48:52 214
原创 栈的基本操作
首先定义一个栈的结构体#define MAX_SIZE 100 typedef int DataType;typedef struct Stack{ DataType array[MAX_SIZE]; int top;}Stack;// 栈的初始化 void StackInit(Stack* ps);//打印链表void StackPrint(Stack*ps);// 入栈 void StackP...
2018-07-05 14:27:15 218
原创 单链表面试题
1.//倒序打印链表void ReversePrint(SListNode *pFirst);有两种方法:1.递归操作2.非递归操作void ReversePrint(SListNode *pFirst){ if(NULL == pFirst) return;//1递归#if 0 if(pFirst->pNext != NULL) { ReversePrint(pFirs...
2018-06-23 17:33:14 212
原创 单链表基本操作
今天我们主要研究单向无头单链表先构建一个结点typedef int DataType;typedef struct SListNode { DataType data; // 值 struct ListNod* pNext; // 指向下一个结点 } SListNode;1、首先需要初始化单链表//初始化void SListInit(SListNode **ppFirst){ assert...
2018-06-07 20:17:57 395
原创 静态顺序表
Seqlist.h#pragma once#include <stdio.h>#define MAX_SIZE 100typedef int DataType;typedef struct Seqlist{ DataType _arr[MAX_SIZE]; int _size;}Seqlist;void SeqlistInit(Seqlist *ps);//初始化链...
2018-06-03 18:07:50 200
原创 关于q_sort问题
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include<Windows.h>int int_cmp(const void *p1, const void *p2){ return(*(int *)p1 > *(int *)p2);}void _swap(void *p1, void*p2,...
2018-03-23 18:43:47 397
原创 递归和非递归求n的阶乘
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<windows.h> #include<string.h> #include<stdlib.h> int Factorial_r(int num){ //非递归实现 int k = 1; while...
2018-03-16 15:50:49 452
原创 递归和非递归实现strlen
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<windows.h> #include<string.h> #include<stdlib.h> #include<assert.h>int my_strlen_2(const char* str_...
2018-03-16 15:47:46 198
原创 编写一个函数reverse_string(char * string)(递归实现)
实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> #include <string.h> #include <assert.h> int reverse_string(char * str){ assert(...
2018-03-16 15:43:38 425
原创 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int DigitSum(int x){ if (x < 10) return x; else return (x % 10 + DigitSum(x / 10));}int main(){ int n ...
2018-03-16 15:29:15 345
原创 编写一个函数实现n^k,使用递归实现
编写一个函数实现n^k,使用递归实现 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int nPowersOfk(int n, int k){ if (k == 0)//指数为0返回1 { return 1; } else if (k == 1)//指数为1返回原值 { return n; } els...
2018-03-16 15:17:36 338
原创 递归和非递归分别实现求第n个斐波那契数。
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<Windows.h> //递归和非递归分别实现求第n个斐波那契数 //递归在大数字下速度比较慢//1 1 2 3 5 8 13 21int fib_1(int n){ //使用递归实现求第n个斐波那契数 if (n...
2018-03-16 15:09:35 347
原创 判断一个字符串是否为另外一个字符串旋转之后的字符串。
判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0. AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA AABCD右旋一个字符得到DAABC int judge(char str1[], char str2[]){ int i = 0; int...
2018-03-16 14:58:17 197
原创 实现一个函数,可以左旋字符串中的k个字符。
实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<Windows.h>void left_move(char *p, int n){ int i = 0; for (i = 0; i...
2018-03-16 14:45:08 164
原创 小游戏扫雷
game.h#define _CRT_SECURE_NO_WARNINGS 1#ifndef __GAME_H__ #define __GAME_H__ #define COLS 11 #define ROWS 11 #define COL (COLS-2) #define ROW (ROWS-2) #define MAX 14 #include <st...
2018-02-20 13:51:06 182
原创 三子棋小游戏
游戏所需头文件 game .h#define _CRT_SECURE_NO_WARNINGS 1#ifndef __GAME_H__ #define __GAME_H__ #include<stdlib.h> #include<stdio.h> #include<time.h> #include<string.h> e...
2018-02-20 13:33:40 188
原创 C语言操作符
C语言操作符一、算术操作符 + - * / %除了%操作符只能用于int型,剩余都可用在float和int型二、移位操作符左移操作符:左边抛弃,右边补0。>>右移操作符:(1):逻辑移位:左边用0填充,右边丢弃。(2):算术移位:左边用原该值的符号位填充,右边丢弃。逻辑移位需要注意只可用于正数在负数中不适合(在计算机储存中32位比特位中第一位默
2017-12-20 20:33:57 375 1
原创 初见C语言
我是陕西科技大学一个大二的学生,叫王耀武,家里是陕西渭南的。我觉得学习C语言是件困难也不那么困难的事情。我第一次完成的三个程序虽然用时较长而且在过程中也有错误,但是我希望经过以后的努力,在编程时间和准确度上有教大的提升,我准备通过在图书馆借书和参加一些项目的实践学习好编程,准备每周在编程上最少花一到两天的时间。虽然现在还没有到大四,没有到选择公司的时候,能做的就是努力提升自己个人能力,在以后面试中
2017-12-06 20:32:00 301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人