自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (2)
  • 收藏
  • 关注

原创 RedHat8.1安装mysql5.6(GLIBC方式)

安装包下载链接下载链接。

2023-12-05 11:16:39 634

原创 Linux系统添加硬件设备流程

(此方法重启后失效,每次需手动挂载,开机自启挂载方法见《Linux这么学》P188)三、通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否成功添加。(回车后会让输入对应参数,具体见《Linux这么学》P195)(2)手动将分区信息同步到内核(连续执行两次效果更好)(步骤见《Linux这么学》P191)(1)新建、修改及删除磁盘的分区表信息。(1)创建一个用于挂载设备的挂载点目录。二、依次进行分区、格式化、挂载操作。(2)将想要格式化的文件系统格式化。(2)将存储设备与挂载点进行关联。

2023-10-18 10:33:12 180

原创 Linux用户权限 rwx

文件类型:普通文件(-) 目录文件(d) 链接文件(l) 管道文件(p)块设备文件(b) 字符设备文件(c)SBIT-用户只能删除自己文件,不能删除其他用户文件-t(原本有可执行权限)-T(原本无可执行权限)-1。SUID-文件所有者临时权限-s(原本有可执行权限)-S(原本无可执行权限)-4。SGID-文件所属组权限-s(原本有可执行权限)-S(原本无可执行权限)-2。SGID 增加 g+s 取消 g-s。x-execute-可执行-1。w-write-可写-2。r-read-可读-4。

2023-10-17 10:16:10 171

原创 链表反转笔记

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* pHead) { //定义一个指针作为当前结点,刚开始要指向头节点 ListNode *cur = pHead; //链表反

2021-11-20 17:40:30 527

原创 静态成员与静态成员函数(谭浩强)

一、类中的 数据成员 和 成员函数 的存储方式用类去定义对象时,系统会为每一个对象分配存储空间。同个类的不同对象中的数据成员的值一般不同,但不同对象的函数的代码是相同的,不论调用哪一个对象的函数的代码,其实调用的都是同样了内容的代码。即每个对象所占用的空间只是该对象的 数据成员 所占用的存储空间,而不包含代码所占用的存储空间。函数的目标代码是存储在对象空间之外的。不论成员函数在类内定义还是类外定义,也不论成员函数是否用inline声明(内联函数),成员函数的代码段都不占用对象的存储空间。如果只

2021-11-09 17:28:58 433

原创 sizeof和strlen

int main(){ char a[] = "hello"; cout << strlen(a) << endl;//5 字符长度5(这里不包括结束标志) cout << sizeof(a) << endl;//6 但数组大小为6,因为结束标志\0也占一个 char b[100];//给字符数组b分配大小为100的空间 strcpy_s(b, a);//把a拷贝进b里 cout <<

2021-11-08 14:47:36 97

原创 C++线程运行的开始和结束(代码演示)

一 主线程:int main(){ //程序运行起来,生成一个进程,该进程所属的主线程开始自动运行 cout << " I love China" << endl;//实际上这是主线程在执行,主线程从main()函数返回,则整个进程执行完毕。 return 0;}主线程从main()函数开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数)一旦这个函数运行完毕,就代表我们这个线程运行结束。整个进程是否执行完毕的标志是:主线程是否执行完,如果主线

2021-10-13 15:05:13 4267 1

原创 epoll接口

点这里

2021-08-30 20:35:51 89

原创 C++链表及其创建

点这里

2021-08-25 15:04:13 76

转载 main(int argc,char *argv[])

一般的main函数都是不带参数的,因此main 后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头可以写为:main (int argc,char *argv[])由于ma

2021-07-20 10:53:53 160

原创 排序算法总结

2021-07-17 18:13:10 55

原创 数据结构:归并排序

ElemType* B = new ElemType[];void Merge(ElemType A[], int low, int mid, int high){ //表A的两段A[low...mid]和A[mid+1...high]各自有序,将它们合并成一个有序表 int i, j,k; for (int k = low; k <= high; k++) B[k] = A[k];//将A中所有元素复制到B中 for (i = low, j = mid + 1, k = i; ...

2021-07-17 17:53:05 61

原创 数据结构:堆排序

void AdjustDowm(ElemType A[], int k,int len){ //向下调整堆 //将位置k的元素向下进行调整 A[0] = A[k];//A[0]暂存 for (int i = 2*k;i <= len;i *= 2)//沿key较大的子节点向下筛选 { if (i < len && A[i] < A[i + 1]) i++;//取key较大的子节点的下标 if (A[0] > A[i])//筛选结...

2021-07-17 16:24:01 67

原创 简单选择排序

** 简单选择排序**void SelectSort(ElemTpye A[],int n){ //对表A进行简单选择排序,A[]从0开始存放元素 for (int i = 0; i < n - 1; i++)//一共进行n-1趟 { int min = i;//记录最小元素位置 for (int j = i + 1; j < n; j++)//在A[i...n-1]中选择最小的元素 { if (A[j] < A[min])//更新最小元素位置 m

2021-07-17 15:22:54 62

原创 数据结构:快速排序

上述方法耗费空间

2021-06-29 14:39:28 77

原创 数据结构:冒泡排序

void BubbleSort(ElemType A[],int n){ //用冒泡排序法将序列A中的元素按照从小到大排列 //注意此代码是从第一趟开始计数,而不是用第0趟 //表长为n,共需要n-1趟排序(外层循环) //每m趟排序需要比较n-m次(内层循环) RedType temp; int m,j; for (m = 1; m <= n - 1; m++)//外层循环,n个记录总共需要 n-1 趟排序 { flag = false;//表示本趟冒泡是否发生...

2021-06-27 19:05:02 181 1

原创 数据结构:希尔排序

void ShellSort(ElemType A[],int n){ //1.前后记录位置的增量是dk,不是1 //2.A[0]只是暂存单元,不是哨兵,当j<1时,插入位置已找到 for (dk = n / 2; dk >= 1; de = dk / 2)//步长变化 { for (i = dk + 1; i < n; ++i) { if (A[i].key < A[i - dk].key) A[0] = A[i]; //A[0]只是暂存单...

2021-06-27 17:07:19 74

原创 折半插入排序

void InsertSort(ElemType A[],int n){ int i, j, low, high, mid; for (i = 2; i <= n; i++) { A[0] = A[i]; low = 1; high = i - 1; while (low <= high) { mid = (low + high) / 2; if (A[0].key < A[mid].key) { high = mid - 1;//查.

2021-06-27 14:14:01 80

原创 直接插入排序

一 直接插入排序此方法需要判断是否越界和比较元素大小,即for循环中需要做两次判断操作,比较费时,对此,我们引入“哨兵”:void InsertSort(SqList &L){ int i, j; for (i = 2; i <= L.length; i++)//依次将L[2]到L[n]插入到前面已排序序列 { if (L.r[i].key < L.r[i - 1].key)//若L[i]的关键字小于前驱,需将L[i]插入到有序表 { L.r[0...

2021-06-27 13:05:30 150

原创 数据结构:排序概述

#define MAXSIZE 20//设记录不超过20个typedef int KeyType;//设关键字为整型量typedef struct//定义每个记录(数据元素)的结构{ KeyType key;//关键字 InfoType otherinfo;//其他数据项}RedType;//Record Typetypedef struct//定义顺序表结构{ RedType r[MAXSIZE + 1];//存储顺序表的向量 r[0]一般做哨兵或缓冲区 int...

2021-06-27 11:30:27 465 1

原创 平衡二叉树

2021-06-26 15:23:51 39

原创 二叉排序树

递归方法://二叉排序树的查找//递归BSTree SearchBST(BSTree T, KeyType key){ if ((!T) || key == T->data.key)//判断是否等于根节点 return T; else if (key < T->data.key) return SearchBST(T->lchild, key);//在左子树继续查找 else return SearchBST(T->rchild, key)...

2021-06-26 13:32:52 172

原创 数据结构:折半查找

int Binary_Search(SeqList L,ElemType key){ int low = 0, high = L.length - 1, mid; while (low <= high) { mid = (low + high) / 2; if (key == L.elem[mid]) return mid; else if (key < L.elem[mid]) high = mid - 1; else low = mid + 1;

2021-06-25 15:04:22 91

原创 数据结构:顺序查找

顺序表定义:typedef struct{}ElemType;typedef struct//顺序表结构类型定义{ ElemType* R;//表基址 int length;//表长}SSTable;//Sequential Search TableSSTable ST;//定义顺序表ST在顺序表ST中查找值为key的数据元素int Search_Seq(SSTable ST, ElemType key){ ST.R[0] = key; for (int i = ST.

2021-06-25 14:11:56 208

原创 二叉树的遍历

typedef struct BiNode{ ElemType data; struct BiNode* lchild, * rchlid;//左右孩子指针}BiNode,*BiTree;三种遍历方法(递归)://先序遍历void PreOrder(BiTree T){ if (T != NULL) { visit(T);//访问根节点,具体访问操作视情况而定,比如cout<<T->data<<endl; PreOrder(T->l.

2021-06-24 20:10:45 97 1

原创 串的模式匹配——BF算法

从头开始查找:int Index_BF(SString S, SString T)//主串S,子串T{ int i = 1, j = 1; while (i <= S.length && j <= T.length) { if (S[i] == T[i]) { ++i; ++j; } else { i = i - j + 2;//指针后退重新匹配 j = 1; } if (j > T.length) re.

2021-06-22 15:55:47 243

原创 线性表-图书信息管理

2021-06-22 14:07:44 326

原创 线性表-稀疏多项式运算

2021-06-22 10:47:47 524

原创 线性表-多项式运算

一元多项式的运算:实现两个多项式加减乘运算

2021-06-22 10:09:13 261

原创 线性表的合并

总体实现(没有说是顺序表还是链表):void union(List& La, List& Lb){ La_len = ListLength(La); Lb_len = ListLength(Lb); for (i = 1; i < Lb_len; i++) { GetElem(Lb, i); if(!Locate(La,e)) Insert(La, ++La_len, e) }}有序表的合并:顺序表实现:(王道习题答案)bool Merg..

2021-06-19 20:02:52 452

原创 顺序表和链表的比较

2021-06-19 16:31:17 251

原创 单链表、双链表和循环链表的时间效率比较

2021-06-19 16:23:34 856

原创 数据结构:双向链表

定义:typedef struct LNode//声明结点类型 和 指向结点的指针类型{ ElemType data;//结点的数据域 struct LNode *prior,* next;//结点的指针域}DuLnode, * DuLinkList;双向链表的插入:void Insert(DuLinkList& L, int i, ElemType e){ DuLnode* s; DuLnode* p; p = GetElem(L, i); if (!p) .

2021-06-19 16:17:47 78

原创 带尾指针的循环链表的合并

步骤:p保存Ta表头结点防止丢失Tb表头接到Ta表尾释放Tb表头结点修改指针LinkList Connect(LinkList Ta, LinkList Tb){ LNode* p; p = Ta->next; Ta->next = Tb->next->next; delete Tb->next; return Tb;}

2021-06-19 15:08:05 665

原创 数据结构:单链表

单链表:由头指针唯一确定,因此单链表可以用头指针的名字来命名。如何表示空表?无头节点时,头指针为空时表示空表有头节点时,当头结点的指针域为空时为空表typedef struct LNode//声明结点类型 和 指向结点的指针类型{ ElemType data;//结点的数据域 struct LNode* next;//结点的指针域}LNode,*LinkList;//LinkList为指向结构体LNode的指针类型存储学生学号、姓名、成绩的单链表结点类型定义如下:typ

2021-06-19 11:40:31 1062

原创 数据结构:顺序表

1 顺序表的定义静态分配:#define MaxSize 100////线性表最大长度//数组静态分配typedef struct{ ElemType data[MaxSize];//ElemType为数量类型,可根据实际替换成想要的数据类型,如int int length;//当前长度}SqList;动态分配://数组动态分配#define MaxSize 100////线性表最大长度#define InitSize 100//线性表初始分配量typedef struct{

2021-06-15 17:04:59 467

原创 C++:机房预约系统(五)——教师模块

//有参构造Teacher::Teacher(int empId, string name, string pwd){ this->m_EmpId = empId; this->m_Name = name; this->m_Pwd = pwd;}//菜单界面void Teacher::operMenu(){ cout << "欢迎老师" << this->m_Name << "登录" << endl; co.

2021-05-13 18:34:46 157 2

原创 C++:机房预约系统(四)——学生模块

//菜单界面void Student::operMenu(){ cout << "欢迎同学" << this->m_Name << "登录" << endl; cout << "\t\t -----------------------------------\n"; cout << "\t\t | |\n"; cout << "\t\t ..

2021-05-13 12:45:05 188 2

原创 C++:机房预约系统(三)——管理员模块

//有参构造Manager::Manager(string name, string pwd){ //初始化管理员信息 this->m_Name = name; this->m_Pwd = pwd;}/进入管理员子菜单void managerMenu(Identity*& manager)//父类指针,这里的&是按引用传递,这里是指针的别名{ while (true) { //调用管理员子菜单 manager->operMenu();.

2021-05-04 22:27:28 384 1

原创 C++:机房预约系统(二)——登录模块

#pragma once//管理员文件#define ADMIN_FILE "admin.txt"//学生文件#define STUDENT_FILE "student.txt"//教师文件#define TEACHER_FILE "teacher.txt"//机房信息文件#define COMPUTER_FILE "computer.txt"//订单文件#define ORDER_FILE "order.txt"//登录功能 参数1 操作文件名 参数2 操作身份.

2021-05-04 11:33:24 319

基于STL 的演讲比赛流程管理系统.rar

基于STL 的演讲比赛流程管理系统

2021-05-02

基于多态的职工管理系统.rar

完整代码。

2021-04-11

空空如也

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

TA关注的人

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