自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 点餐项目的实现

项目名称:点餐系统项目描述:使用户可以通过浏览器访问服务器获取菜品信息并进行点餐;以及可以使管理员通过浏览访问服务器实现订单以及菜品的管理市场调研:整合所学知识;给毕设准备的项目;校内实训的项目;技术调研:线程;socket;http;json;MySQL;stl;概要设计:框架设计——不太严谨的MVC框架model:数据管理模块——管理数据(菜品,订单),外界想要访问数据必须通过这个模块完成,不能直接访问。view:视图界面模块——浏览器前端界面,用户或者管理员的操作都是通过前端界面完成。c

2021-09-12 12:15:41 693

原创 vector的使用

创建vector对象的方式#include<stdio.h>#include<iostream>#include<string>#include<assert.h>#include<vector>using namespace std;struct A{ A(int a = 1) :_a(a) {} int _a = 1;};void test(){ //空vector vector<int> v1;

2021-06-16 11:31:33 163

原创 运算符重载作业

在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是 (前缀一元运算符 )A.无操作数的运算符重载为成员函数时,其函数的参数个数与真实的函数参数个数会减少1个,减少的则 通过this指针进行传递,所以无参 则说明有一个参数,故错误B.二元运算符无参成员函数相当于有一个参数的全局函数,不能是二元运算符C.前缀一元运算符D.后缀一元运算符区分前缀后缀时,后缀运算需要加一个int参数不能被重载的运算符只有5个,作用域操作符:::条件操作符:?:点操作符:.指向成员操作的

2021-06-01 21:32:04 261

原创 string类的实现以及深浅拷贝

//浅拷贝 String(const String& str) :_data(str._data) {} //深拷贝,拷贝对象的内容和对象的资源 String(const String& str) :_data(new char[strlen(str._data)+1]) { strcpy(_data, str._data); }浅拷贝:也称位拷贝,编译器只是将对象中的值拷贝过来。如果对象中管理资源,最后就会导致多个对象共享同一份资源,当一个对象销毁时就会将该资.

2021-06-01 16:32:15 104

原创 string类的各个接口以及用法

string类string的接口#include<stdio.h>#include<iostream>using namespace std;void test(){ string str;//创建一个空的字符串 string copy(str);//复制一个字符串 string str2("abc");//创建一个字符串 string substr(str2, 1, 2);//从1位置取出str2的2个字符 string str3("12345678", 5)

2021-05-28 17:10:34 340

原创 C++模板初阶

泛型编程泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。模板有函数模板和类模板。函数模板函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。函数模板格式template<typename T1, typename T2,…,typename Tn>返回值类型 函数名(参数列表){}template<typename T>void Swap( T& left, T& ri

2021-05-27 16:08:17 51

原创 C++内存管理

内存分布栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。(Linux课程如果没学到这块,现在只需要了解一下)堆用于程序运行时动态内存分配,堆是可以上增长的。数据段–存储全局数据和静态数据。代码段–可执行的代码/只读常量。使用realloc对malloc创建的空间进行扩展时会自动把malloc申请的空间释放掉,只需要释放realloc申请的空间。calloc在申

2021-05-27 11:10:27 191

原创 Linux进程概念

进程概念:冯诺依曼体系结构,操作系统,进程概念,进程状态,环境变量,程序地址空间冯诺依曼体系结构:现代计算机的硬件体系结构,规定了现代计算机应该有哪些硬件单元硬件单元:输入设备——键盘;输出设备——显示器;存储器——内存条;运算器+控制器(中央处理器CPU)主频:2.5GHz——CPU每秒可以处理多少指令缓存:CPU的评判标准,越大越好所有设备都是围绕存储器工作的,存储器作为中间的数据缓冲而存在内存——内存条:8G外存——硬盘:500G硬件结构决定了软件行为,比如helloworld程

2021-05-25 09:38:51 193

原创 C++的类和对象(2)

const成员const修饰类的成员函数将const修饰的类成员函数称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。int get() const//const修饰this指针。表示this指针指向的对象内容不能改变{}思考:const对象可以调用非const成员函数吗?不可以,这个操作相当于权限被放大了。const对象在调用成员函数时会把隐含的this指针修改成const class * const

2021-05-21 17:15:52 71

原创 日期类的实现

#include<stdio.h>#include<iostream>using namespace std;class Date{public: Date(int year, int month, int day)//自定义全缺省构造函数 { _year = year; _month = month; _date = day; } int getday(int year, int month)//声明一个函数,获得每个月份的天数 { static

2021-05-12 10:08:32 93

原创 C++的类和对象

类class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类的方法或者成员函数。class className{ // 类体:由成员函数和成员变量组成 }; // 一定要注意后面的分号类的两种定义方式:声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。声明放在.h文件中,类的定义放在.cpp文件中一般情况下,更

2021-05-10 21:01:04 70

原创 C语言实现连续最大和

#include<stdio.h>#include<string.h>#include<stdio.h>#include<string.h>#include<stdbool.h>void main(){ int length; scanf("%d", &length); int arr[100]; for (int i = 0; i < length; i++) { scanf("%d", &arr[

2021-04-27 21:42:28 1079 1

原创 C语言实现统计回文

bool Return(char* C){ int lengthC = strlen(C); int left = 0; int right = lengthC - 1; while (left < right) { if (C[left] != C[right]) { return false; } left++; right--; } return true;}void main(){ char A[100], B[100]; char C[20

2021-04-27 21:33:59 336

原创 C++入门

1.C++关键字2.命名空间使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或者名字污染。定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。命名空间成员的访问方式:(1)命名空间名称+::+成员(2)using +命名空间名称+::+成员(3)using+namespace+命名空间名称(会把命名空间所有成员全部暴露在全局作用域中,会和全局域中的成员混淆#include<stdio.h>#inclu

2021-04-27 16:00:42 74

原创 Linux的基础指令

对目录操作的基础指令ls:浏览当前目录,查看其内容(在打开一个新的终端时,默认处于当前登录用户的家目录中)。例如在本虚拟机中登录的是test这一用户,此时的操作就是在test目录中进行的。ls -l :查看当前目录下文件的详细信息。linux下的文件不以后缀名区分,文件夹(目录)也只是个目录类型的文件。ls -a:查看隐藏文件。(以‘.’为起始的文件),显示所有文件。-l和-a也可以组合起来使用:ls -laman后加命令可以查看命令的功能,查看完毕后按q退出。pwd:打印当前工作路径

2021-04-24 15:30:59 249

原创 合并两个有序数组

#include<stdio.h>#include<string.h>#include<assert.h>#include<stdlib.h>#include<math.h>#include<time.h>#include<stdbool.h>void Fun(int * num1, int* num2, int num1size, int num2size, int m, int n){ //从后往前进行

2021-04-20 17:22:28 53

原创 旋转数组

#include<stdio.h>#include<string.h>#include<assert.h>#include<stdlib.h>#include<math.h>#include<time.h>#include<stdbool.h>#include"queue.h"void Reverse(int* nums, int left, int right){ while (left < ri

2021-04-19 22:19:12 47

原创 数组形式的整数加法

#include<stdio.h>#include<string.h>#include<assert.h>#include<stdlib.h>#include<math.h>#include<time.h>#include<stdbool.h>#include"queue.h"int* addToArrayForm(int* num, int numSize, int k, int* returnSize)

2021-04-19 22:11:12 142

原创 顺序表的增删改查等基本操作的实现

typedef int SLDateType;typedef struct SeqList{ SLDateType* a; size_t size; size_t capacity; // unsigned int}SeqList;// 对数据的管理:增删查改 void SeqListInit1(SeqList* ps){ if (ps == NULL) return; ps->a = NULL; ps->size = ps->capacity = 0;}v

2021-04-18 14:42:57 84

原创 C语言实现插入排序、希尔排序、直接排序、堆排序、冒泡排序、快速排序的三种方法、归并排序、非比较排序以及快速排序和归并排序的非递归实现方法

插入排序的实现://插入排序:时间复杂度最大为o(N*N);最小为o(N);不稳定;void insert(int* arr, int n){ for (int i = 1; i < n; ++i) { int end = i - 1; //保存要插入的数据 int data = arr[i]; //如果插入的数据小于有序列的最后一个数,则将最后一个数向后移动;并让插入数据继续向前对比; while (end >= 0 && arr[end] &gt

2021-04-18 14:41:54 543

空空如也

空空如也

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

TA关注的人

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