
编程语言
文章平均质量分 53
zl_8577
这个作者很懒,什么都没留下…
展开
-
c语言各类库函数的含义及用法
在C语言中 strcat、strcmp、strcpy、strlen、strchr和 strstr函数都被包含在头文件中,也就是要调用它们时要在程序前面包含头文件,也就是写这个语句:#include 1、strcat将第二个字符数组中的字符串连接到前面字符数组的字符串的后char str1[30]="People's Republic of";char str2[]="Chi原创 2017-04-03 22:09:18 · 3223 阅读 · 0 评论 -
linux下GNU、G++编辑器的安装及基本使用
一:GNUGNU是“GNU ‘s Not Unix”的递归缩写, Stallman宣布GNU应当发音为Guh-NOO(革奴)以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同),为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Publi原创 2017-12-02 12:02:47 · 2595 阅读 · 0 评论 -
Linux下的VIM编辑器常用命令大全
vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v——–从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。 V——–从光标当前行开始,光标经过的行都会被选中,再按一下V结束。 ggVG 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾选中后就可以用编辑命令对其进行编辑,如 d——删除 y——复制 (默认是复制到”寄原创 2017-12-02 12:06:19 · 371 阅读 · 0 评论 -
Linux基础命令之du、df详解
* 自己总结分享,希望读者能轻松掌握以下重要命令:du、df、*<< 一:du1.命令参数:du -h:以人类可读的方式显示du -a:使用此选项时,显示目录和目录下子目录和文件占用磁盘空间的大小。du -s:使用此选项时,du只显示目录所占用磁盘空间的大小,而不显示其下子目录和文件占用磁盘空间的信息。du –apparent-size:显示文件或目录自身大小,而不是它们占用的磁盘空间大小。d原创 2017-12-02 12:10:47 · 495 阅读 · 0 评论 -
C++使用模板实现顺序表
#pragma once #include<iostream>using namespace std;#include<stdlib.h>#include<assert.h>typedef int DataType;class SeqList{public: SeqList() : _pData(new DataType[3]) , _capac原创 2017-12-02 18:34:10 · 242 阅读 · 0 评论 -
C++实现循环双向链表
typedef int DataType;struct Node{ struct Node* _pNext; struct Node* _pPre; DataType _data; Node(const DataType& data = DataType()) : _pNext(NULL) , _pPre(NULL)原创 2017-12-02 20:15:27 · 802 阅读 · 0 评论 -
C++中的继承
在我们学习C++的过程中,当你想要调用一个已经写好的类或者在已经写好的类的基础上增加一些新的功能的时候,那么有两种方法可以实现调用已写好类中的功能: 1、用这个类作为对象类型,定义一个新的对象,并且新的对象作为一个类的成员。 例如:class Time{public: Time() {}private: int _hour; int _minute;原创 2017-11-15 17:01:16 · 223 阅读 · 0 评论 -
C++中的多态(一)
多态:一词最初来源于希腊语,意思是具有多种形式或形态的情形。通俗的讲,水在不同的温度下所呈现的不同的状态,比如:水在零摄氏度以下是固态的,在0~100度之间是液态的,在100度以上是气态的。在C++语言中多态有着更广泛的含义【静态多态】:int Add(int a, int b){ return a + b;}float Add(float a, float b){ retu原创 2017-12-06 17:59:10 · 298 阅读 · 0 评论 -
Linux下的gcc/gdb
Linux底下C/C++开发工具的使用主要包括三个部分: 1、编译工具—>gcc; 2、调试工具—->gdb 3、make(Makefile)工具。一、编译工具—>gcc:简介:通常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进制代码。GCC是Linux平台下最原创 2017-12-06 19:12:14 · 526 阅读 · 0 评论 -
模拟实现C++中的Vector函数
源代码实现#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;template<class T>class Vector{public: Vector() : _start(NULL) , _finish(NULL) , _endOfStora原创 2017-12-06 20:28:14 · 267 阅读 · 0 评论 -
模拟实现C++中的ListIterator函数
#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;template<class T>struct ListNode{ ListNode(const T& data = T()) : _pNext(NULL) , _pPre(NULL) , _data(data)原创 2017-12-06 21:01:43 · 628 阅读 · 0 评论 -
代码实现僵尸进程,孤儿进程
僵尸进程在Linux中,进程分为多种状态,例如: R (running):运行状态、 S (sleeping):睡眠状态(浅度睡眠)、 D (disk sleep):磁盘睡眠状态、 T (stopped):停止进程、 X (dead):死亡状态、 Z (zombie):僵死状态等等。 僵死状态是一个比较特殊的状态:当进程退出并且父进程(使用wait()系统调用)没有读取到原创 2018-03-08 16:36:29 · 896 阅读 · 0 评论 -
c语言
在C语言中 strcat、strcmp、strcpy、strlen、strchr和 strstr函数都被包含在头文件中,也就是要调用它们时要在程序前面包含头文件,也就是写这个语句:#include 1、strcat将第二个字符数组中的字符串连接到前面字符数组的字符串的后char str1[30]="People's Republic of";char str2[]="Chi原创 2018-07-01 13:23:08 · 228 阅读 · 0 评论 -
约瑟夫环的应用
//1、使用结构体创建一个结点,结点内容包括一个指向下一个结点的指针和一个int类型的数据//2、使用一个字符数组创建单链表//3、将单链表构造成循环单链表,使用一个指针从头遍历单链表,直到这个指针指向最后一个结点,将这个结点的指针域指向头结点//4、实现约瑟夫环// 1)、从当前结点的下一个结点报数,直到找到报数是m的结点,将当前结点的值交给m,使用替换法输出并删除当前结点// ...原创 2018-09-29 13:53:19 · 1426 阅读 · 0 评论 -
顺序表的应用
typedef struct Student{ int num; //学号 char name[10]; //姓名 char classnum[5]; //班级}Student;int main(){ Student array[10] = { { 1, "zhanngsan", "301" }, { 2, "zhanngsan", "302" }, ...原创 2018-09-29 13:56:12 · 747 阅读 · 0 评论 -
C++模板实现通用冒泡排序
#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;#if 1#include<algorithm>#include<functional>template<class T>class Less{public: bool operator()(const T& left, const T原创 2017-12-02 11:59:07 · 347 阅读 · 0 评论 -
C语言实现彩色进度条---linux环境下编译
彩色进度条C语言实现彩色进度条—linux环境下编译代码实现:#include<stdio.h>#include<unistd.h>#define NONE "\033[m" #define RED "\033[0;32;31m" #define LIGHT_RED "\033[1;31m" #defi原创 2017-12-10 13:15:00 · 421 阅读 · 0 评论 -
c语言简单实现三子棋
利用3*3的数组,简单实现三子棋Game.h文件#ifndef __GAME_H__ #define __GAME_H__ #define ROWS 3 #define COLS 3 #include<stdio.h> #include<stdlib.h> #include <time.h>#include<string.h> void init_board(char arr1原创 2017-10-11 20:01:32 · 315 阅读 · 0 评论 -
C++实现String类
普通的浅拷贝#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;class String{public: String(char* pStr = "") { if (NULL == pStr) { _pStr = new char[1原创 2017-11-08 20:33:12 · 159 阅读 · 0 评论 -
C++中的引用与指针
c++中的引用与指针原创 2017-10-24 20:35:59 · 245 阅读 · 0 评论 -
C++中的命名空间
C++中的命名空间的使用原创 2017-10-24 21:25:25 · 225 阅读 · 0 评论 -
c语言实现动态通讯录
c语言实现动态通讯录原创 2017-10-24 22:49:42 · 672 阅读 · 0 评论 -
C语言简单实现扫雷
C语言简单实现扫雷Game.h 文件#define _CRT_SECURE_NO_WARNINGS#ifndef __GAME_H__#define __GAME_H__#define COLS 11#define ROWS 11#define MAX 10#define ABC 1#include <stdlib.h>#include <stdio.h>#include <str原创 2017-10-11 20:04:55 · 224 阅读 · 0 评论 -
C++中的this指针
大家都知道this指针的存在,但是我想很少有人能够完全学会this指针的用法,包括我在内,我也一直在探索this指针的用法,下面是我对this指针的一些理解,有疑问或者有问题的地方欢迎给我留言。原创 2017-11-05 10:42:21 · 275 阅读 · 0 评论 -
C++中的构造函数
在我们学习C++的过程中,我们难免会遇到类,在类中有6个默认的函数,它们分别为:构造函数、拷贝构造函数、析构函数、赋值操作符重载、取地址操作符重载和const修饰的取地址操作符重载,那么我今天直介绍其中的构造函数。原创 2017-11-05 11:35:24 · 260 阅读 · 0 评论 -
拷贝构造函数、析构函数、赋值操作符重载、取地址操作符重载和const修饰的取地址操作符重载
在我们学习C++的过程中,我们难免会遇到类,在类中有6个默认的函数,它们分别为:构造函数、拷贝构造函数、析构函数、赋值操作符重载、取地址操作符重载和const修饰的取地址操作符重载。原创 2017-11-05 14:03:21 · 1127 阅读 · 1 评论 -
友元函数friend
学过C++的程序员都知道,一个常规的成员函数声明描述了三件在逻辑上相互不同的事情: 1、该函数能访问类声明的私用部分。 2、该函数位于类的作用域之中。 3、该函数必须经由一个对象去激活(有一个this指针)。 通过将函数声明为static,可以让它只有前两种性质,通过将一个函数声明为友元可以使它只具有第一种性质。什么是友元函数:友元函数:友元函数可以直接访问类的私有成员,它是定义在类外部的普原创 2017-11-05 14:30:43 · 795 阅读 · 0 评论 -
linux下的进程
进程管理是操作系统重点、难点问题,也是贯穿Linux学习的知识点。那么什么是进程? 大多数情况下我们所听到最多的说法是:进程是操作系统的一种抽象概念,用来表示正在运行的程序。但值得我们注意的是:进程是一种动态描述,但是并不代表所有的进程都在运行。(进程在内存中因策略或调度需求,会处于各种状态)进程有怎么样的特征 动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是 动态产生,动态原创 2017-12-09 18:34:50 · 201 阅读 · 0 评论 -
Linux进程描述符task_struct结构体详解
进程控制块—>task_struct每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体,它定义在include/linux/sched.h文件中。task_structLinux内核的一种数据结构,它会被装载到RAM里并且包含着进程的信息。 每个进程都把它的信息放在 task_struct 这个数据结构里,task_stru原创 2017-12-10 10:56:19 · 851 阅读 · 0 评论 -
浅谈时间复杂度和空间复杂度
时间复杂度定义:一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。 注意:不是指程序运行时间计算方法:在计算时间复杂度的时候,先找出算法的基本操作,然后原创 2017-12-10 12:12:30 · 237 阅读 · 0 评论 -
斐波那契数的实现与改进
什么是斐波那契数定义:斐波那契数为第一个数和第二个数是1,从第三个数开始为前两个数之和,数学表达式为: 当N<3时,f(N) = 1; 当N=>3时,f(N) = f(N-1)+f(N-2);代码实现:1、递归实现: int Fib(int n){ int First = 1; int Second = 1; int ret = 0; if (n<3)原创 2017-12-10 12:36:36 · 490 阅读 · 0 评论 -
单链表的应用
//1、使用结构体创建一个结点,结点内容包括一个指向下一个结点的指针和一个char类型的数据//2、使用一个字符数组创建单链表//3、从头遍历单链表,设置一个计数器count,count代表当前元素的下标// 1)、当前元素不是要查找的字符时,指针指向下一个结点,并且计数器count加一// 2)、如果当前元素是要查找的字符,则返回计数器count// 3)、如果单链表...原创 2018-09-29 13:58:01 · 697 阅读 · 0 评论