自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法笔记--随机选择法

主要解决的问题是:如何从一个无序数组中求出第K大的数最直接的想法:先排序再输出倒数第K位元素即可。但是时间复杂度为O(nlogn),不如随机选择算法的O(n)。随机选择算法核心:一个数组按照从大到小的顺序排序,该数组的第K大元素,一定是在从右往左数的第K位(1开始数)。算法思路:分治+快排+递归在区间a【left,right】内,找一个基准元素,让其右边都大于他,让其左边都小于等于他,不...

2020-03-17 18:53:45 907

原创 算法笔记--KMP模式匹配算法

看完数据结构,串这一章之后,对其中的kmp算法,感觉总是模凌两可的感觉,有一种将要入门却不知道该脉哪只脚的感觉,想把自己的理解写出来,求大佬们指点一下。下面所提到的字符串都是基于如下的字符串定义:#define MAXSIZE 15struct String{ char data[MAXSIZE]; int length;}a = {"goodgoogle",10},b =...

2020-03-14 21:09:43 216

原创 算法笔记---算法初步之排序

一、简单选择排序自己的理解:简单选择排序就是进行n-1趟操作,操作的次数用i表示,每趟操作都选出一个最小值或者最大值。选出来之后将最大值或者最小值与第i个元素进行交换。#include<cstdio>void SelectSort(int *arr,int n);int main(void){ int a[10] = {12,34,5,689,-43,56,-21,0,2...

2020-02-05 00:07:33 216

原创 算法笔记--野指针问题

野指针:一个指针在free之后没有被赋值成NULL。造成野指针的原因:在函数free(p)中只是将P指针的值传递给了函数,仅仅是释放了形参的值,实参的值并没有改变,并且malloc函数在操作系统分配的时候是顺序分配(比如释放了的p原本使用的地址为2000,那么下一次malloc分配的地址就是这个2000),如果继续对p进行解引用的话,会连同下一次动态分配的指针所指向的值一同改变。举个栗子...

2020-02-03 15:29:54 178

原创 算法笔记---2.7.4 通过指针访问数组元素

(++p)与(p++)的却别:#include<cstdio>int main (void){ int a[2]={0,1}; int *p = &a[0]; printf("*(p++) = %d\n",*(p++)); p = &a[0]; printf("*(++p) = %d\n",*(++p)); return 0;}...

2020-01-29 17:53:56 136

原创 ccf真题---2019.12-1报数

思路:1.使用一个一直增加的数i表示报数2.使用一个数组skip【4】分别表示甲乙丙丁跳过的次数3.根据题目测试的是3位数一下的数,当被7整除,或者含有7时就让skip【k】+1.4.使用k表示数组下标,由于只有四个人,故K=(K+1)%4#include<cstdio>int main (void){ int n; //输入需要报多少个数,游戏结束 ...

2020-01-29 17:46:46 784

原创 算法笔记---简单折半查找

/*折半查找 适用于有序排列的数组 算法思路:1.比较有序数组元素位置位于中间的元素与要查找的元素比价。2.根据比较结果缩小下一次元素位置区间范围 一下代码只适用于升序数组。 */ #include <cstdio>#include <cstring>int main (void){ int n; scanf("%d",&n); ...

2020-01-27 22:43:17 138

原创 数据结构--顺序表部分操作具体实现

主要是想实现数据结构教材–算法2.1 例2.2将La={3,5,8,11},Lb={2,6,8,9,11,15,20}合并(将存在于Lb中的元素但是不存在与La中的元素插入Lb中)增加了几个常用操作的实现。#include <stdio.h>#include <malloc.h> #include <stdlib.h> #define OK 1#...

2020-01-21 23:59:31 192

原创 算法笔记---使用结构体数组保存学生信息

题目描述定义一个结构体student,存储学生的学号、名字、性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出。结构体student的定义如下:struct student {int num;char name[20];char sex;int age;};本题要求使用指向结构体数组的指针进行输入和输出。输入第一行有一个整数n,表示以下有n个学生的信息将会输入。保证n不...

2020-01-18 22:40:37 9024

原创 算法笔记—2.7.5 指针的引用

算法笔记—2.7.5 指针的引用/*P69-指针的引用*/#include <stdio.h> void sawp(int* &p1,int* &p2); int main(void) { int a = 1,b = 2; //scanf("%d%d",&a,&b); int* p1 = &a;...

2020-01-16 17:49:35 111

原创 习题7-5 字符串逆序存放

题目描述写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。输入一行字符串。输出输入字符串反序存放后的字符串。单独占一行。样例输入abcd样例输出dcba交换函数思路1.分成两种情况:字符串个数为偶数个:判断条件与下标的关系为:i<(strlen(a)/2)字符串个数为奇数个:判断条件与下标的关系...

2020-01-16 15:37:18 1701

原创 算法笔记---习题6-6 杨辉三角

题目描述按要求输入如下格式的杨辉三角11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1最多输出10层输入输入只包含一个正整数n,表示将要输出的杨辉三角的层数。输出对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开样例输入5样例输出11 11 2 11 3 3 11 4 6 4 1思路:核心:1.用二维数组构造...

2020-01-10 23:03:13 413

原创 算法笔记----习题6-4 有序插入

问题 A: 习题6-4 有序插入时间限制: 1 Sec 内存限制: 12 MB提交: 3456 解决: 2086[提交][状态][讨论版][命题人:外部导入]题目描述有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。然后再从键盘上输入一个整...

2020-01-10 22:16:10 468

原创 算法笔记--2.7.4 指针

使用指针作为参数,交换两个数正确写法:#include<stdio.h>void swap(int* a,int* b);int main(void){ int a = 1,b = 2; //可以直接写成swap(&a,&b);更为简洁 int *p1 = &a,*p2 = &b; swap(p1,p2); printf("a...

2020-01-10 20:43:51 168

空空如也

空空如也

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

TA关注的人

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