自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 C/C++ 链表笔试编程题汇总(更新中...)

1.C++:输入一个链表,按链表从尾到头的顺序返回一个ArrayList/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/cla...

2019-09-22 19:54:57 1462

原创 C++ 字符串翻转

1.student. a am I ------> I am a studentclass Solution {public: string ReverseSentence(string str) { int len = str.length(); if(len==0) return ""; int i = 0, j =...

2019-09-21 21:08:16 552

原创 C++ 拷贝构造函数 深拷贝 浅拷贝

一、拷贝构造函数定义classname(const classname &obj){ //obj.XXX}二、拷贝构造函数的调用时机1、Test t2 = t1; // 用对象 t1 去初始化t2 (隐式调用拷贝构造函数)2、Test t2(t0); // 用对象 t0 去初始化t2(显示调用拷贝构造函数)3、PrintObj(t0); // 类...

2019-07-11 10:25:22 340

原创 C++ 类和对象 构造与析构 new delete this指针 const

一、面向对象的特点抽象、封装、继承、多态二、类的封装1.struct和class的区别 struct定义类时,成员默认属性为public class定义类时,成员默认属性为private2.类的访问控制权限 public:可在类内和类外被访问 private:只能在类内被访问 protected:只能在类内和派生类内被访问cl...

2019-07-10 20:20:12 246

原创 C++ 引用 函数重载

一、函数的参数传递 引用#include <iostream>using namespace std;void swap(int a, int b){ int t = a; a = b; b = t;//只交换了a和b,之后形参a,b消亡}int main(){ int x = 5, y = 10; cout << "x=" <<...

2019-07-09 15:04:42 417

原创 C++ 巧用数组 只用一重循环打印输出乘法表

一重循环且无条件语句打印乘法表观察第8,9行列号变化:1->2->3->4->5->6->7->8->1->2……容易想到取模运算观察第8,9行行号变化:8->8->8->8->8->8->8->8->9->9……当行与列相等时行号才+1,否则不变#include<i...

2019-04-01 21:24:14 456

原创 C语言实现Linux中的cat命令(命令行输入)

1.模仿Linux系统中cat 命令的显示功能。程序在命令行中执行时,带一个文件名作为参数。程序将指定的文件内容在屏幕上显示出来。#include <stdio.h>int main(int argc, char *argv[]){ FILE *fp = fopen(argv[1], "r"); // 以只读方式打开文件,argv[1]是输入的要显示的文件路...

2019-03-26 20:10:43 12457 1

原创 Linux 嵌入式多线程编程

一、线程与进程1.进程:是一个具有一定独立功能的程序的一次运行活动,进程是程序执行时的一个实例,同时也是资源分配的最小单元; Linux中的进程包含:(1)“数据段”存放的是全局变量、常数以及动态数据分配的数据空间; (2)“代码段”存放的是程序代码的数据。 (3)“堆栈段”存放的是子程序的返回地址、子程序...

2018-08-20 21:28:04 603

原创 Linux进程间的通信方式 管道 信号 消息队列 共享内存 信号量

一、进程间通信概述1.目的:数据传输、资源共享、通知事件、进程控制。2.Linux使用的进程间通信方式包括:(1)管道(pipe)和有名管道(FIFO)(2)信号(signal)(3)消息队列(4)共享内存(5)信号量(6)套接字(socket)二、管道通信1.特点:管道是单向的、先进先出的,一个进程在管道的尾部写入数据,另一个进程从管道的头部读出数据。数据...

2018-08-19 10:52:00 321

原创 数据结构Linux 进程控制与进程编程

一、进程控制理论基础1.进程的定义:进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元。2.进程与程序进程(程序执行的实例) 程序(放到磁盘的可执行文件) 动态 静态 暂时(状态变化的过程) 长久(长久保存) 组成:包括程序、数据和进程控制块(即进程状态信息) ...

2018-08-15 20:33:50 247

原创 C语言用链表实现通讯录并存入文件

#include <stdio.h>#include <string.h>#include <stdlib.h>#define SIZE 100typedef struct student STU;int len = 0;struct student{ char name[10]; int num; int age;...

2018-08-14 19:11:18 1541 4

原创 Linux C/C语言 文件编程

一、Linux 文件Linux文件可分为:普通文件,目录文件,链接文件,设备文件;当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。二、Linux文件操作函数(文件I/O)1. open()打开函数是用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。#includ...

2018-08-13 21:02:27 370

原创 数据结构 常用八大排序算法及代码实现

一、排序的介绍1. 排序的分类按照排序过程中所依据的原则的不同可以分类为: ►插入排序:直接插入排序 希尔排序 ►交换排序:冒泡排序 快速排序 ►选择排序:简单选择排序 堆排序 ►归并排序 ►基数排序2. 排序算法比较 排序方法 最好时间 平均时间 最坏时间 ...

2018-08-13 19:58:39 29867 1

原创 数据结构 树 二叉树的性质 二叉树的遍历

一、树的概念树:树(Tree)是n(n>=0)个结点的有限集 结点:树的结点包含一个数据元素及若干个指向其子树的分支。 度:结点拥有的子树称为结点的度。 叶结点:度为0的结点称为叶结点或者终端结点。 分支结点:度不为0的结点称为非终端结点或者分支结点。 孩子、双亲:结点的子树的跟称为该结点的孩子,相应的,该结点称为孩子的双亲。 深度:树中结点最大层次称为树的深度。二、二叉树...

2018-08-13 19:25:39 193

原创 数据结构 链式队列

一、链队列的结构struct node // 结点的信息{    int data;    struct node *next;};typedef struct node Node;struct queue // 队列的信息{    Node *front;    Node *rear;};typedef struct queue Queue;二、链队列的源代码...

2018-08-10 20:47:00 126

原创 数据结构 顺序队列 和 用队列实现杨辉三角形

一、队列的定义1. 队列是特殊的线性表,仅在线性表两端进行操作;    队头(Front):取出数据的一端;    队尾(Rear):放入数据的一端;2. 队列的性质:先进先出二、队列常用公式   一般使用循环队列(提高空间的利用率)     空队列:front == rear    队列满时会空出一格    判断队列满的条件:( rear + 1 ) % ...

2018-08-09 10:58:18 5243 1

原创 数据结构 栈(顺序栈,链式栈,用栈实现计算器)

一、栈的概念1. 栈是一个特殊的线性表,只能在一端操作:栈顶(top):允许操作 的一端                                                                    栈底(bottom):不允许操作的一端2. 特点:后进先出二、顺序栈 1. 若存储栈的长度为StackSize,则栈顶位置top必须小于StackSiz...

2018-08-08 20:23:13 2983

原创 数据结构 单链表的头插法和尾插法

头插法核心代码:q-&gt;data = e;q-&gt;next = p-&gt;next;p-&gt;next = q;尾插法核心代码:q-&gt;data = e;q-&gt;next = NULL;p-&gt;next = q;主函数代码:#include "LinkList.h"#include &lt;stdio.h&gt;#includ...

2018-08-07 17:06:36 9367

原创 数据结构 双向链表和循环链表

一、双向链表1. LinkList.h#ifndef _LINKLIST_H#define _LINKLIST_H#define FAILURE 10000#define SUCCESS 10001#define TRUE 10002#define FALSE 10003typedef int ElemType;struct node{ E...

2018-08-06 20:25:32 138

原创 数据结构 链表实现通讯录

#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;stdlib.h&gt;#define SIZE 100typedef struct student STU;int len = 0;struct student{ char name[10]; int num; int age;...

2018-08-05 21:29:47 2489 2

原创 数据结构 单链表

一、单链表以下为源代码,主要功能有:初始化、插入(插入随机数)、遍历、求链表长度、判断链表是否为空、获取p位置的元素、查找元素e的位置、删除、反转、清空、销毁。1. LinkList.h#ifndef _LINKLIST_H#define _LINKLIST_H#define FAILURE 10000#define SUCCESS 10001#define TRUE ...

2018-08-04 20:23:50 338

原创 C/C++数据结构 线性表(顺序表)

一、数据存储结构1. 顺序存储结构:数据元素放在地址连续的存储单元里。2. 链式存储结构:数据元素存放在任意的存储单元里,存储单元可以不连续。二、线性表的定义 一个线性表是n个数据元素的有限序列。三、线性表的顺序表示线性表的顺序表示指的是用一组地址连续的存储单元一次存储线性表的数据元素。 特点:逻辑关系上相邻的两个元素在物理位置上也相邻 优点:随机存取表中任一元...

2018-08-03 13:48:27 327

原创 C语言实现简单通讯录

   这两天用C语言编写了一个简易版通讯录(学生信息管理),大致功能有添加信息,查看信息(自动按姓名排序,printf输出带颜色字体),查找信息(按姓名查找),删除信息(输入姓名删除相关信息),修改信息(输入修改人的名字,可选择修改其任意信息)和退出 。#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;stdlib...

2018-08-02 20:42:50 2079

原创 用C语言编写str系列函数(strcpy,strlen,strcmp)

1.strcpy拷贝函数#include <stdio.h>char *mystrcpy(char *str, const char *ptr){ char *temp = str; while((*str++ = *ptr++) != '\0'); return temp;}int main(){ char str[20] = ...

2018-08-01 08:44:25 1915

原创 C语言 内存管理

一、内存分配./test 启动一个进程,分配4G虚拟内存1G内核态;3G用户态:(1)数据段:全局变量, static静态变量;                   (2)代码段:代码,常量(只读的用户态);                   (3)栈:局部变量(形参);                   (4)堆空间:malloc, free;          ...

2018-07-31 22:59:25 105

原创 stdio.h中的remainder函数(全局变量定义冲突)

 今天在写计算分数的精确值代码时,用remainder定义了一个全局变量数组remainder[101],然后程序报错,说内建函数 ‘remainder’ 未被声明为函数,经过多次调试和检查代码也不能解决。最后通过网络我查到了在stidio.h的头文件中,有一个remainder的函数函数功能:返回一个整数除以另一个整数之后产生的余数。 函数语法:remainder ( int a,...

2018-07-30 08:57:14 557

原创 C语言 结构体声明与sizeof计算结构体大小

1. 结构体的声明struct 结构体名 {成员表列};例如:struct student{ char name[20]; int age; int num; };在main函数中定义结构体变量: struct student s1, s2; 使用时:s1.n...

2018-07-29 19:48:49 1843 1

原创 C语言 指针练习

1. 输入5个数(含负数、小数)将它们按由小到大的顺序排列起来#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;stdlib.h&gt;void sort(char *a[], int length){ int i, j; char *tmp; for (i ...

2018-07-28 20:53:14 2248 1

原创 C语言 函数指针 指针函数 数组指针 指针数组 指针的指针 命令行参数

一、函数和指针1. 函数指针(指向函数的指针)。 例如: int (*pf)( ); 例:#include &lt;stdio.h&gt;void print(){ printf("Hello\n");}int add(int x, int y){ return (x+y);}int main(){ int m; voi...

2018-07-27 20:56:43 280

原创 C语言 变量的存储类型 和 指针(2)

一、变量的存储类型1. register int a = 1;   //定义一个寄存器变量, a存放在寄存器中, 寄存器变量不能取地址2. extern int a = 1;     //声明一个外部变量, 声明不用分配空间 (定义变量要分配空间)3. static   (1) 在函数外部 static int a = 1;   // static 修饰全局变量, 改变变量的作用域, ...

2018-07-26 13:48:05 412

原创 C语言 指针概念与练习题(1)

一、指针的定义1.指针是变量的一种,里面是一个地址。单元的地址就是指针内容; 所有类型的指针长度都是4字节;2. 定义指针变量:(1) char *str = "Hello"; //str指向hello字符串 (2) int a = 1; ...

2018-07-25 20:24:19 958

原创 C语言 数组练习题

位运算符是对字节或字中的实际二进制位操作的,只能操作二进制 两行scanf()中间有时要用getchar(); //滤掉回车符 strlen ( )函数求字符串长度,如果字符串是用户输入的,则不能提前声明,要放在输入之后求取1.有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位.#include <stdio.h...

2018-07-24 16:25:38 16703 8

原创 C语言 数组和函数

一、一维数组1.定义格式:类型说明符 数组名[常量表达式]; 例如: int a[10]2.一维数组初始化int a[10]={0,1,2,3,4,5,6,7,8,9}; int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括弧内只提供5个初值,这表示只给前面5个元素赋初值,后5个元素值为0。int a[10]...

2018-07-23 20:59:15 563

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除