- 博客(26)
- 问答 (7)
- 收藏
- 关注
原创 数据结构严蔚敏 #二叉树 代码复现
#include <stdio.h>#include <stdlib.h>#define MAXLEN 100typedef char TElemType;typedef TElemType SqBiTree[MAXLEN]; //顺序存储二叉树定义//链表二叉树结构定义typedef struct BiTNode{ TElemType data; // ⚠️ 这个数据不是指针型 struct BiTNo.
2022-03-08 22:00:23
161
原创 数据结构严蔚敏
二叉树的一些操作实现,有点乱,表示我已经努力了 !anyway,还在往后写,希望越来越好。#include <stdio.h>#include <stdlib.h>#define MAXLEN 100typedef char TElemType;typedef TElemType SqBiTree[MAXLEN]; //顺序存储二叉树定义//链表二叉树结构定义typedef struct BiTNode{ TElemType data;
2022-03-06 22:09:56
564
原创 数据结构严蔚敏 4.3.6
6.设任意n个整数存于数组A[1...n]中,试编写算法,将所有正数排在所有负数前面(要求:算法时间复杂度为O(n).#include <stdio.h>int partition(int *a,int low,int high){ int temp = a[low]; while(low < high){ while(low <high && a[high]<= 0)high--; a[low] = a[
2022-03-03 20:07:07
432
原创 数据结构 严蔚敏 4.3.4
(4)已知字符串s1 中存放一段英文,写出算法format(s1,s2,s3,n),将其按给定的长度n格式化成两端对齐的字符串s2(即长度为n且首位字符串不得为空格字符),其多余的字符送s3.分析:我不知道这道题我理解的对不对,就是说在s1中找到一个长度为n且两端不为空格的字符串,然后把这个子串复制给s2,剩下的放在s3 。如果我有理解错的大家可以指正。可能没人看,anyway!#include <stdio.h>#include <string.h>void fo
2022-03-03 17:01:23
1477
原创 数据结构 4.3.3
(3)编写算法,实现下面函数的功能,函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数)#include <stdio.h>void insert(char *s,char *t,int pos){ char ch,*ptr1 = s+pos,*ptr2 = t,*ptr3; while(*ptr1){ //交换ptr1
2022-03-03 16:31:18
1652
原创 4.3.2
写一个递归算法来实现字符串逆序函数,要求不另外设存储空间#include <stdio.h>#include <string.h>int i=0 ;char string[255];void rev(){ char ch; scanf("%c",&ch); if(ch == '.'){ string[i] = ch; }else{ rev(); i++; strin
2022-03-02 21:51:38
106
原创 数据结构
4.3.1写一个算法统计在输入字符串中各个不同字符出现的频率并将结果存入文件(字符串中的合法字符为A~Z这26个字母和0~9这10个数字。#include <stdio.h>#include <stdlib.h>#define MAXLEN 255typedef struct{ char *ch; int length;}SString;int main() { int array[40] = {0}; SString s;
2022-03-02 21:23:59
244
原创 pat乙级 1008.数组元素循环右移问题
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序
2022-03-01 18:05:32
95
1
原创 pat乙级 1005继续(3n+1)猜想
这道题写第一遍写的比较乱,有几个测试无法通过,就重写了,现在也不知道刚刚啥bug了,简单题,应该就是逻辑不严谨吧,小问题。#include <stdio.h>#define FALSE 0#define TRUE 1typedef int bool;typedef struct{ //数据结构类型 bool cover; //被覆盖的标志 int data; //数据值}Node;void Qsort(Node *n,int top,int end)
2022-03-01 17:15:32
322
原创 PAT乙级 1003 我要通过
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P、A、T这三种字符,不可以包含其它字符; 任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A组成的字符串; 如果aPbTc是正确的,那么aPbATca也是正确的,其中a、b、c均或者是空字符串,或者是仅由字母A...
2022-03-01 14:20:19
60
原创 《数据结构严蔚敏 》4.7习题
2(2)设目标为t = “abcaabbabcabaacbacba",模式串为p = ”abcabaa“。1⃣️ 计算模式p的nextval函数值;#include <stdio.h>#include <string.h>#define MAXLEN 255typedef struct{ char ch[MAXLEN]; int length;}SString;void get_nextval(SString t,int nextval[]
2022-02-28 16:50:50
1543
原创 pat乙级 1033 旧键盘
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 105 个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代表上档键)。题目保证第 2 行输入的文字串非空。注意:如果上档键坏掉了,那么大写的英文字母无法被打出。输出格式:在
2022-02-28 15:58:10
58
原创 PAT (Basic Level) Practice 乙级--1032 挖掘机技术哪家强
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。样例:">输入样例:63 652 801 1002
2022-02-28 15:11:39
70
原创 PAT (Basic Level) Practice 乙级--1031 查验身份证
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:输入第一行给出正整数N(≤100
2022-02-28 14:34:20
76
原创 数据结构严蔚敏4.7习题2应用题(1)
已知模式串t = “abcaabbabcab”,写出用KMP算法求得的每个字符对应的next和nextval函数值。#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXLEN 255typedef struct { char *ch; int length;}SString;void getNext(SString t,int next[]){ i
2022-02-27 20:38:37
1118
原创 pat乙级 1029 旧键盘
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线_(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。#incl.
2022-02-27 16:26:07
82
原创 pat乙级 1027 打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的
2022-02-27 15:00:40
51
原创 pat 乙级。1026 程序运行时间 (15 point(s))
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用 clock(),获得一个时钟打点数 C1;在f执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数之差 (C2-...
2022-02-27 13:55:26
40
原创 c语言 字符串模式匹配Brute-Force 算法
#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXLEN 100typedef struct{ char ch[MAXLEN+1]; int length;}SString;//顺序串结构定义int Index_BF(SString s,SString t){...
2022-02-11 18:07:32
559
原创 python读取中文文本
其中encoding='utf-8'意义不明一下链接为详细解释: utf-8为一种编码格式https://zhuanlan.zhihu.com/p/137875615
2021-08-30 17:48:28
252
原创 python 打开文件遇到问题
file = open('jobspeech.txt')txt = file.read()print(txt)file.close()源文件为jobs.txt文件内容为:他们特立独行,他们桀骜不驯,他们惹是生非,他们格格不入。他们用与众不同的眼光看待事物。他们不喜欢墨守成规。他们也不安于现状。你可以认同他们,反对他们,颂扬或是诋毁他们。但唯独不能漠视他们。因为他们改变了寻常事物。他们推动人类向前迈进。或许他们史别人眼里的疯子,但他们却是我们严重的天才。因为只有那些疯狂到以为自己能够.
2021-08-26 21:46:46
280
空空如也
clion 创建新文件时给出警告
2021-11-12
python读取串口很慢
2021-10-12
python 导入serial库错误
2021-10-11
arduino中case判断不能用
2021-10-06
python decode 编码
2021-08-31
python读取文件行数
2021-08-31
#python#print{}槽中 ‘:什么时候可以省略?
2021-08-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人