自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 矩阵乘法.

矩阵乘法的前提条件:行列对应(矩阵A3行四列 对应 矩阵B四行3列)最后运算矩阵C第一个数等于A的第一行每一个数乘以B第一列每一个数C[0][0]=A[0] [0] * B[0] [0]+A[0] [1] * B[1] [0]+A[0] [2] * B[2] [0]+A[0] [3] * B[3] [0]C[0] [1]同理计算出每一个C矩阵的数值,然后输出先输入矩阵A的每一个数值,逐行输入,然后保存在一个多维数组arr1[ ][ ]中 矩阵B同理,保存在数组arr2中 计算矩阵C

2022-01-10 12:21:36 1467

原创 leetcode 刷题第一次

1.两数之和int* twoSum(int* nums, int numsSize, int target, int* returnSize){ int i, j; for(i = 0; i<numsSize; ++i){ for(j = i+1; j<numsSize; ++j){ if(nums[i] + nums[j] == target){ //满足条件 int *x = malloc(sizeo

2021-09-02 23:21:32 211

原创 链栈的操作

目录链栈的初始化链栈判空取栈顶元素链栈的入栈链栈的出栈链栈是运算受限的单链表,只在链表头部操作typedef struct StackNode{ SElemType data; struct StackNode *next;}StackNode, *LinkStack;LinkStack s;链表的头部就是栈顶 不需要头结点 不存在栈满的情况 空栈相当于头指针指向空 插入删除仅在栈顶进行链栈的初始化void InitStack(Li.

2021-08-19 14:24:26 224

原创 顺序栈的实现

存储方式:同线性表的顺序存储结构,利用一组地址连续的存储单元依次存放从栈底到栈顶的数据元素。top指针:栈顶元素的位置(top指针指向栈顶元素的下一个位置)base指针:栈底元素位置#define MAXSIZE 100typedef struct{ SElemType *base; SElemTpye *top; int stacksize; //栈可使用的最大容量 }SqStack; ...

2021-08-18 23:20:25 223

原创 栈的应用—表达式求值

算符优先算法由运算符优先级确定运算顺序的对表达式求值算法表达式组成操作数:常量,变量 运算符:算术运算符,关系运算符和逻辑运算符 界限符:左右括号“( )”和表达式结束符“#”例如:# 3 *( 7 - 2 )#为了实现表达式求值。需要设置两个栈算符栈OPTR,用于存运算符 操作数栈OPND,用于寄存运算数和运算结果(数据)求值的处理过程是自左到右扫描表达式的每一个字符当扫描到的是运算数,则将其入栈OPND 当扫描到运算符时若运算符比OPTR栈顶运算符优..

2021-08-17 16:54:45 682

原创 栈的应用—括号的匹配问题

正确格式: ( [ ] ( ) )或 [ ( [ ] ) ]不正确格式[ (] ) 或 ( [ ( ) )最后出现的左括号最先被相应的右括号匹配遇到左括号入栈 遇到右括号就出栈一个相应的左括号(这个右括号应该与距离最近的左括号相匹配)匹配失败情况:左括号单身 右括号单身 左右括号不匹配流程图括号匹配成功过程括号匹配失败,右括号与栈顶的左括号不匹配括号匹配失败,有单身的右括号还未匹配成功,但是栈已经空栈#include <s...

2021-08-16 19:08:36 236 1

原创 二分查找关键字

原理使用前提:数组按升序排列 查找元素key如果key小于中间元素,只需要在数组前半区查找 2.如果key等于mid查找成功 key大于mid,只需要在后半区查找对一个有序的数组进行关键字查找操作,当数组中含有改关键字,return True,否则return False#include<stdio.h>int search(int arr[],int key, int left, int right){ while (left <=...

2021-08-15 21:49:52 1019

原创 链表的代码

#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status;typedef int ElemType;//定义结构体 typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList; //链表初始化 L.

2021-08-14 19:32:38 143

原创 单链表的 头插法 尾插法

一.单链表的插入从一个空表开始,重复读入数据 生成新结点,将读入数据存放到新结点的数据域中 从最后一个结点开始,依次将各个结点插入到链表的前端头插法倒位序输入元素 如:L{1,2,3} 输入顺序为 3,2,1void CreatList_H(LinkList &L, int n){ //n为插入结点数 L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; for(i=n; i>0; i--;..

2021-08-13 22:41:14 651

原创 链表的 取值 查找 插入 删除

1.单链表的取值

2021-08-12 23:26:15 914

原创 单链表的初始化,销毁,清空

目录1.定义链表2.单链表的初始化3.单链表的销毁4.清空链表1.定义链表typedef struct Lnode { ElemType data; //数据域 struct Lnode *next; //指针域} Lnode, *LinkList;定义链表:LinkList head; //定义指向头结点的指针,就代表整个链表(空表)定义结点指针:Lnode *p;2.单链表的初始化(1)构造空表Status Ini...

2021-08-10 22:40:21 2376 1

原创 链栈的代码

目录1.链栈有四个要素:两个特殊状态和两个操作2.链栈的初始化代码3.判断栈空代码4.进栈代码5.出栈代码1.链栈有四个要素:两个特殊状态和两个操作两个状态(1)栈空状态lst->next == NULL (2)栈满状态链栈不存在栈满状态两个操作(1)元素(p所指元素)进栈操作p->next = lst->next;lst->next = p; //头插法建立链表的插入操作(2)出栈操作p = lst-&

2021-08-05 21:37:04 345

原创 顺序栈代码

进栈操作:先移动指针,再进入元素出栈操作:先取出元素,再移动指针1.初始化栈void initStack(SqStack &st) //初始化栈{ st.top = -1; //将栈顶指针设置为-1 } 2.判断栈空栈st空的时候返回1,否则返回0int isEmpty (SqStack st){ if(st.top == -1) ruturn 1; else return 0; } ..

2021-08-05 17:29:16 127

原创 栈结构体定义

1.顺序栈的定义typedef struct{ int data[maxSize]; //存放栈中元素,maxsize是已经定义的常量 int top; //栈顶指针 } SqStack; //顺序栈类型定义 2.栈的节点定义typedef struct LNoode { int data; //数据域 struct LNode *next; //指针域 } LNode;

2021-08-05 17:17:27 1804

原创 数据结构排序算法

1.冒泡排序-bubble思路:1.从第一个数开始,将左右元素依次进行比较,交换,始终保持右边大于左边(第一次结束后,最右边为最大值)2.对序列中剩下的n-1个元素再次执行 把最后一位确定下来思维流程图:代码实现:2.插入排序-insert思路:数组分为两部分将数组中所有元素依次和前面已经排好顺序的元素比较,如果选择的元素比已排序的元素小,则交换,直到都比较过用key将往前插入的元素保存起来a[i]=key 将key与已经排好的元素比较 若key&lt..

2021-08-03 17:34:00 84

空空如也

空空如也

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

TA关注的人

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