自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用C语言实现-顺序表初始化、创建、插入、删除操作

#include <stdio.h>#include <stdlib.h># include <malloc.h>#define MAXSIZE 100#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int ElemType;typedef int Status;typedef struct{ ElemType *pList; int sqSize;

2020-09-29 16:36:58 2780

原创 线性表基于顺序存储结构的基本操作的实现(初始化,创建,插入,删除,按值查找元素)

#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define ElemType int#define InitSize 30typedef struct{ ElemType *data; int MaxSize,length;//maxsize为数组所能容纳的最大个数,length为有效长度}SqList;void InitList(SqList &L,int maxsize)

2020-06-07 10:36:21 4093

原创 C#连接MySql数据库详细步骤

说明:使用MySQL数据库,Navicat数据库管理工具1、首先下载MySQL.Data.dll文件(应和对应的.netframework版本相同)2、在引用中引入MySQL.Data.dll文件3、在类中引入命名空间 using Mysql.Data.MySqlClient访问并操作数据库的步骤1、建立连接字符串(1)private static string connString = “server=loaclhost;database=mytest;username=root;passw

2022-04-14 15:46:07 7461

原创 c++枚举类型

enum 类型名{枚举值表}类型名指定了枚举类型的名称枚举值列表又称枚举元素列表,列出定义的枚举类型的所有可用值,各个值之间用“,”分开每个枚举元素分配一个整型值,默认从0开始,逐个加1定义枚举类型可以对枚举元素赋值,没有被赋值的枚举值在其前一个枚举值加1枚举是常量不是变量,不能在程序中再为枚举元素赋值...

2022-03-09 20:49:21 265

原创 c++抽象 封装 继承 多态 模板 数据隐藏 类 详解

抽象:将一类对象的共同特征总结出来构造类的过程抽象包括数据抽象和行为抽象数据抽象关注对象的属性行为抽象关注对象的行为例如:学生的姓名 年龄 身份证号 为学生的属性学生会吃饭,会睡觉 为学生的行为类类是将抽象转换为用户定义类型的工具,包含了数据表示和操纵数据的方法类中的数据项通常放在私有部分,组成类接口的成员函数放在公有部分接口接口由编写类的人提供的方法组成,c++程序将接口(类定义)放在头文件中数据隐藏:将数据放在类的私有部分即数据隐藏,数据隐藏是一种封装,将实现的细节隐藏在私有部分

2022-03-02 20:44:19 995

原创 C++ 循环和关系表达式和逻辑运算符

cin >> ch 跳过换行、制表、空格字符cin.get(ch) ch = cin.get()可以读取这些字符逻辑运算符 && || !AND表达式的左侧为false则不会判断右侧的表达式逻辑运算符 OR AND 运算符的优先级都低于关系运算符!运算符的优先级高于所有的关系运算符和算术运算符要对表达式求反必须要用括号将其括起!(x > 5)!x > 5 表达式的值总为false,!x的值为true 或者 false 会被转换成1或者0再跟5比较,所

2022-02-23 15:02:57 574

原创 C++ 前缀、后缀递增\递减运算符详解

以代码为示例进行讲解//此程序展示了前缀、后缀递增和递减运算符的区别#includeint main(){using namespace std;int a = 20;int b = 30;cout << "a = " << a << ":b = " << b << “\n”;//前缀运算符和后缀运算符对操作数的影响一样,但影响的时间不同//前缀运算符会先将操作数加1再使用新的值来计算表达式//后缀运算符会使用操作数当前的值再

2022-01-12 16:48:08 749

原创 c++中 指针数组和数组指针的区别

指针数组: int * p1[n] 是指指针类型的数组(即本质为一个数组),数组里面的元素全为指针类型。[]的优先级比*高,p1先与[]结合,构成数组的定义int * 再修饰数组数组指针:int (p2)[n]是指指向数组的一个指针,其本质还是一个指针()的优先级比[]高,p2构成指针的定义,指针的变量名为p2,int修饰的为数组的内容,数组没有名字为匿名数组.其实写成 int ()[10] p2 int ()[10]表示指针的类型,p2表示指针变量,这样易于个人理解但编译器并不理解,所以还是

2022-01-10 15:59:44 337

原创 c++ *stack+1 与 *(stack+1)区别

具体程序如下:#include int main(){using namespace std;//定义了double类型的数组double wages[3] = { 1000.0,2000.0,3000.0 };//定义short类型的指针short stack[3] = { 3,2,1 };//下面两行程序显示了两种不同的首地址的获取方式//将数组wages的首地址赋给新创建的double类型的指针,wages数组名就代表了首地址double * pw = wages;short

2022-01-10 14:52:13 334

原创 CRC校验码采用模2除法进行运算详解

最近刚好在学习CRC校验码,希望能帮到大家~~

2022-01-09 13:50:03 542

原创 KMP算法

一、什么是KMP算法KMP算法命名是由D.E.Knuth、J.H.Morris和V.R.Pratt同时发现的,用于解决字符串匹配问题。二、KMP算法关键内容next数组1、 求最长前后缀公共长度公共前后缀:给定模式串为ABCDABD模式串的各个子串 前缀 后缀 最大公共元素长度A 0 0 0AB A B 0ABC A,AB C,BC 0ABCD A,AB,ABC D,CD,BCD 0ABCDA A,AB,ABC,ABCD A,DA,CDA,BCDA 1ABCDAB A,AB,ABC,

2021-11-21 13:56:27 328

原创 哈希表与哈希函数

哈希表(散列表):基于哈希函数的一种查找表/一种根据关键字直接进行访问的数据结构,哈希表(散列表)建立了关键字和存储地址之间的映射关系。哈希函数(散列函数):把查找表中的关键字映射成该关键字对应地址的函数冲突:哈希函数把两个或者两个以上的关键字映射到同一地址。哈希函数(散列函数)构造方法原则:(1)散列函数的定义域包含全部关键字、值域则依赖于散列表的大小或地址范围(2)散列函数计算出的地址等概率、均匀的分布在全部地址中,减少冲突的发生(3)散列函数尽量简单,较短时间计算出关键字的散列地址常用

2021-11-14 15:36:36 477

原创 初识c#。

using代码行告诉程序可以使用.NetFramework命名空间的类命名空间(namespace)包含类,类包含方法,方法中包含一组语句。一个方法完成一个具体动作,方法中的语句也会完成单个动作。//程序需要使用using代码行中的类,以达到能够使用这些类中的方法。using System;using system.Linq;using System.Text;namespace Demo{class program //所有的代码都在类里面,程序需要一个类。{public stati

2021-10-08 15:18:12 111

原创 DXF文件格式

DXF文件格式是以ASCII形式组成的文本文件,由组码和值对构成。组码定义了值对的类型。构成:HEADER段:标题段,包含了图形的一般信息。由组码9后指定,下一行其值。CLAESSES段:类段,类实际上是对一类具有共同特征的事物的抽象,是一种复杂的数据类型。TABLES段:表段,包含了若干个表,表里包含了若干个项。线形表(LTYPE)层表(LYER)字体表(STYLE)视图表(VIEW)用户坐标系统表(UCS)视窗配置表(VPORT)标注字体表(DIMSTYLE)申请符号表(APPI

2021-10-07 15:29:11 2841

原创 到底什么是顺序表的随机读取?

要读取a[5](随机选一个数读取,所以叫随机存储),可以直接从地址a+5读取;但是链表,只能从表头开始一个一个读取下一个节点地址,读到第6个才找到。本人初学时对于顺序表的随机存取和查找总是混淆,无论是顺序表的查找还是链表的查找他们的时间复杂度都为O(n),我就很纳闷那到底顺序表的优点是如何体现的呢?顺序表是利用数组存储的,所谓的随机存取,即当你知道数组的首地址后你可以读取任何一个位置的元素,设ai序号为i 的元素的存储位置为Li,每个元素长度为d,则序号为j的元素的存储位置为Li + d(j - i),

2020-10-06 17:32:41 8513 5

原创 单链表创建的头插法,尾插法,插入、删除、获取元素,删除整表

/*程序功能:链表的基本操作1、初始化链表2、头插法创建链表3、尾插法创建链表4、删除、添加结点5、删除链表6、获取链表中第i个位置的值7、单链表整表删除注意:在进行链表的定义时链表是以结点为构成单位,要构建结点再一个一个的对结点进行操作,而不是直接向顺序存储结构直接定义一个顺序表*/#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROE 0#define TRUE 1#define

2020-10-05 16:28:10 777

原创 线性表的链式存储结构详解

前言:为什么会出现线性表的链式存储结构呢?因为顺序存储结构是采用一块连续的存储单元存储线性表,在对线性表进行插入删除时非常不方便,为了解决顺序存储结构中的这个缺点,于是人们就想能不能采用一种不连续的存储方式,哪里有空位就到哪里去,能够通过第一个元素依次找到其后的各个元素,于是就产生了链式存储结构1、定义链式存储结构采用一组任意的存储单元存储线性表(可以连续可以不连续);n个结点链成一条链表2、分类链表分为单链表,双链表,静态链表,循环链表3、易混淆点(1)结点有数据域和指针域构成,next指针域

2020-09-28 16:30:52 2191

原创 线性表的顺序存储结构详解

线性表是一种逻辑结构,它在计算机中是如何存储的呢?有两种类型:顺序存储结构和链式存储结构,接下来一起看看顺序存储结构吧!!1.定义:用一段地址连续的存储单元存储线性表中的元素2.顺序存储结构利用一维数组实现,为什么呢?因为线性表中的数据元素的类型相同,一维数组本来就是用来存储一组具有相同数据类型的元素的,因此线性表的顺序存储结构就利用一维数组实现!!!3.描述顺序存储结构#define MAXSIZE 50 //定义存储空间的初始分配量typedef int ElemType //以后想

2020-09-27 16:25:34 3002

原创 线性表的定义详解

线性表1.定义:一种逻辑结构,线性表是具有相同数据类型的有限个元素的的有限序列2.说明:(1)当元素个数为0时为空表(2)除第一个元素和最后一个元素,每个元素都有一个直接前驱直接后继(3)第一个元素无前驱,最后一个元素无后继(4)线性表中每一个数据元素可由若干数据项组成举例:点名册:点名册由姓名、学号等数据项组成3.线性表的抽象数据类型(所谓抽象数据类型,在我理解下为把基本的操作和元素之间的逻辑关系提取出来就构成了抽象数据类型)ADT ListData数据元素之间是一对一关系,除第一个

2020-09-27 16:08:42 2556

原创 C语言中\n和\t的区别

\n表示换行符\t表示将输出位置跳到下一个tab(制表)位置,一个tab为8列(是不是所有的书都这么写的,听着有点晕晕的。上图上图,让你看一次就明白)

2020-08-20 16:20:00 13430

原创 用C语言实现1-1/2+1/3-1/4+...+1/99-1/100求和

/*问题描述:求1-1/2+1/3-1/4+…+1/99-1/100步骤:(1)观察式子找出规律,从第一个式子往后每个式子的分母为前一个式子的分母加一,分子都为1.(实际上也包括第一个式子)(2)分式前面的符号为上一个式子的-1倍(3)定义所需变量sign //式子前面的正负号deno //分母sum //累加和,要定义成double类型,要不然最后得出来为1term //当前项的值 ,要定义成double类型,要不然每次求得当前项都为0*/include <stdio.h&gt

2020-08-20 15:23:10 12883 1

原创 连续存储数组的算法--初始化,输出,插入,追加,删除,倒置,排序

include <stdio.h>include <malloc.h>include <stdlib.h> //包含了exit函数//c语言中没有bool类型,只有c++里面有//定义了一个 struct Arr数据类型,里面包含三个成员变量。用来描述数组struct Arr{int * pBase; //存放数组的首地址int len; //数组所能容纳的元素的最大个数int cnt; //当前数组的有效元素的个数};void init_a

2020-05-21 15:05:21 275

原创 使用C语言完成数组倒置

# include <stdio.h>int main(){ int i,j; int a[7]={1,2,3,4,5,6,7}; int t; i=0; j=6; while(i<j) { t=a[i]; a[i]=a[j]; a[j]=t; i++; j--; } for(i=0;i<7;i++) { printf("%...

2020-03-06 14:18:37 2045

空空如也

空空如也

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

TA关注的人

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