自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 循环链表--约瑟夫环问题

约瑟夫环问题,是一个经典的循环链表问题,题意是:已知 n 个人(以编号1,2,3,…,n分别表示)围坐在一张圆桌周围,从编号为 k 的人开始顺时针报数,数到 m 的那个人出列;他的下一个人又从 1 还是顺时针开始报数,数到 m 的那个人又出列;依次重复下去,要求找到最后出列的那个人。例如有 5 个人,要求从编号为 3 的人开始,数到 2 的那个人出列: 出列顺序依次为:编号为 3 的人开始数 1

2017-08-18 17:55:22 672

原创 栈的基本操作及应用

/*栈的基本操作及实现表达式求值*/#include<stdio.h>#include<stdlib.h>#include<windows.h> #define STACK_INIT_SIZE 100 //存储空间初始分配量#define STACKINCREMENT 10 //存储空间分配增量#define OK 1#define OVERFLOW 0#define ERROR 0

2017-08-15 17:18:14 965

原创 单链表的基本操作

#include<stdio.h>#include<stdlib.h> #define OVERFLOW 1#define OK 1#define ERROR 0#define LEN sizeof(struct LNode)typedef int ElemType;typedef int Status;typedef struct LNode{ ElemType da

2017-08-11 21:20:38 300

原创 线性表的顺序表示及其基本操作

#include<stdio.h>#include<stdlib.h> #define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define OVERFLOW 1#define OK 1#define ERROR 0/*基本操作*/Status Initlist_Sq(Sqlist &L);Status Creat_Sq(Sqlist

2017-08-11 19:23:47 380

原创 高效率的求幂运算

计算X^N的常见算法是使用N-1次乘法自乘,但是递归算法更好,如果N是偶数, 我们有X^N=X^(N/2)X^(N/2),如果N是奇数则X^N=[X^(N-1)/2][X^(N-1)/2].#include<stdio.h>int IsEven(unsigned N);long int Pow(long int X,unsigned int N);int main(){ long

2017-08-10 21:27:05 325

原创 PAT基础题 4-13 折半查找

给一个严格递增数列,函数int binSearch(SeqList T, KeyType k)用来二分地查找k在数列中的位置。 函数接口定义: int binSearch(SeqList T, KeyType k) 其中T是有序表,k是查找的值。裁判测试程序样例:#include <iostream>using namespace std;#define MAXLEN 50typedef

2017-08-10 17:59:21 627

原创 PAT基础题 5-2 然后是几点

有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。 读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。 输入格式: 输入在一行中

2017-08-10 16:41:28 644

原创 PAT基础题 5-1 厘米换算英尺英寸

如果已知英制长度的英尺 footfoot foot和英寸 inchinch inch的值,那么对应的米是 (foot+inch/12)×0.3048(foot+inch/12)\times 0.3048 (foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。 输入格式: 输入在一行中给出1个正整数,单

2017-08-10 16:39:47 754

原创 PAT基础题 4-12 判断奇偶性

本题要求实现判断给定整数奇偶性的函数。 函数接口定义: int even( int n ); 其中n是用户传入的整型参数。当n为偶数时,函数返回1;n为奇数时返回0。注意:0是偶数。 裁判测试程序样例:#include <stdio.h>int even( int n );int main(){ int n; scanf("%d", &n); if (even

2017-08-10 16:38:30 1347

原创 PAT基础题 4-11 求自定类型元素序列的中位数

本题要求实现一个函数,求N个集合元素A[]的中位数,即序列中第 ⌊N/2+1⌋\lfloor N/2 +1\rfloor ⌊N/2+1⌋大的元素。其中集合元素的类型为自定义的ElementType。 函数接口定义: ElementType Median( ElementType A[], int N ); 其中给定集合元素存放在数组A[]中,正整数N是数组元素个数。该函数须返回N个A[]元

2017-08-10 16:37:10 3074 2

原创 PAT基础题 4-10 阶乘计算升级版

本题要求实现一个打印非负整数阶乘的函数。 函数接口定义: void Print_Factorial ( const int N ); 其中N是用户传入的参数,其值不超过1000。如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印“Invalid input”。 裁判测试程序样例:#include <stdio.h>void Print_Factorial ( const int

2017-08-10 16:35:41 1336

原创 PAT基础题 4-9 统计个位数字

本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。 函数接口定义: int Count_Digit ( const int N, const int D ); 其中N和D都是用户传入的参数。N的值不超过int的范围;D是[0, 9]区间内的个位数。函数须返回N中D出现的次数。 裁判测试程序样例:#include <stdio.h>

2017-08-10 16:33:08 565

原创 PAT基础题 4-8 简单阶乘计算

本题要求实现一个计算非负整数阶乘的简单函数。 函数接口定义: int Factorial( const int N ); 其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。 裁判测试程序样例:#include <stdio.h>int Factorial( const int N );int main(){ int N, NF;

2017-08-10 16:31:12 683

转载 int long long long取值范围

unsigned   int   0~4294967295    int   -2147483648~2147483647  unsigned long 0~4294967295 long   -2147483648~2147483647 long long的最大值:9223372036854775807 long long的最小值:-9223372036854775808 unsign

2017-08-09 17:56:07 336

原创 欧几里得算法--计算最大公因数

两个整数的最大公因数(Gcd)是同时取整除的最大整数.#include<stdio.h>unsigned int Gcd(unsigned int M,unsigned int N);int main(){ unsigned int M=0,N=0; scanf("%d%d",&M,&N); printf("%d\n",Gcd(M,N)); return 0;

2017-08-07 18:17:42 856

原创 数据结构与算法分析--最大子序列和问题

最大连续子数列和一道很经典的算法问题,给定一个数列,其中可能有正数也可能有负数,我们的任务是找出其中连续的一个子数列(不允许空序列),使它们的和尽可能大。我们一起用多种方式,逐步优化解决这个问题。 例: 输入{ -2, 11, -4, 13, -5, -2 }时,答案为 20 (从A2到 A4). 算法1:#include &lt;stdio.h&gt;//N是数组长度,A是待计算的数...

2017-08-07 15:47:35 2066

原创 PAT基础题 4-7 统计某类完全平方数

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。 函数接口定义: int IsTheNumber ( const int N ); 其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。裁判测试程序样例:#include <stdio.h>#include <math.h>int IsTheNumber (

2017-08-05 23:52:47 418 2

原创 PAT基础题 4-6 求单链表结点的阶乘和

本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。 函数接口定义: int FactorialSum( List L ); 其中单链表List的定义如下: typedef struct Node *PtrToNode; struct Node { int Data; /* 存储结点数据 */ PtrToNode Nex

2017-08-05 23:50:45 349

原创 PAT基础题 4-5 求自定类型元素的最大值

本题要求实现一个函数,求N个集合元素S[]中的最大值,其中集合元素的类型为自定义的ElementType。 函数接口定义: ElementType Max( ElementType S[], int N ); 其中给定集合元素存放在数组S[]中,正整数N是数组元素个数。该函数须返回N个S[]元素中的最大值,其值也必须是ElementType类型。 输入样例: 3 12.3 34 -5

2017-08-05 23:49:23 392

原创 PAT基础题 4-4 求自定类型元素的平均

本题要求实现一个函数,求N个集合元素S[]的平均值,其中集合元素的类型为自定义的ElementType。 函数接口定义: ElementType Average( ElementType S[], int N ); 其中给定集合元素存放在数组S[]中,正整数N是数组元素个数。该函数须返回N个S[]元素的平均值,其值也必须是ElementType类型。 输入样例: 3 12.3 34 -5

2017-08-05 23:47:23 221

原创 PAT基础题 4-3 简单求和

本题要求实现一个函数,求给定的N个整数的和。 函数接口定义: int Sum ( int List[], int N ); 其中给定整数存放在数组List[]中,正整数N是数组元素个数。该函数须返回N个List[]元素的和。 输入样例: 3 12 34 -5 输出样例: 41#include <stdio.h>#define MAXN 10int Sum ( int List[],

2017-08-05 23:45:53 555

原创 PAT基础题 4-2 多项式求值

本题要求实现一个函数,计算阶数为n,系数为a[0] … a[n]的多项式f(x)=∑ni=0(a[i]×x​i)\sum_{i=0}^n(a[i]×x ​i) 在x点的值。 函数接口定义: double f( int n, double a[], double x ); 其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。 输入样例: 2 1.1 1

2017-08-05 23:44:24 668

原创 PAT基础题 4-1 简单输出整数

本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。 函数接口定义: void PrintN ( int N ); 其中N是用户传入的参数。该函数必须将从1到N的全部正整数顺序打印出来,每个数字占1行。输入样例: 3 输出样例: 1 2 3#include <stdio.h>void PrintN ( int N );int main (){ int N;

2017-08-05 23:37:34 1829

转载 MATLAB入门教程

MATLAB入门教程 1.MATLAB的基本知识1-1、基本运算与函数    在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:  >> (5*2+1.3-0.8)*10/25   ans =4.2000   MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。小提示:

2017-08-05 20:09:24 613

原创 数据结构与算法分析--1.1 解决选择问题

编写一个程序解决选择问题,令K=N/2,找到N个数中的第K个最大者#include<iostream>#include<stdlib.h>const int MAX=100;using namespace std;int compare(const void *a,const void *b){ return *(int*)b-*(int*)a;//由大到小排列 ;return *

2017-08-04 19:06:27 343

原创 PAT乙级1001

害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个

2017-08-03 22:36:44 233

原创 用递归方式实现逆序输出

#include<iostream>using namespace std;void Reprint(int n){ cout<<n%10; if(n/10!=0) Reprint(n/10); }int main(){ int a=0; while(cin>>a) { Reprint(a); } retur

2017-08-03 22:32:03 8175

原创 构造函数与析构函数的应用

定义一个Student类,包含名字一个数据成员,定义无参构造函数、有参构造函数、拷贝构造函数、析构函数及对于名字的封装函数,在main函数中实例化Student对象,并访问相关函数.#include <iostream>#include <string>using namespace std;/** * 定义类:Student * 数据成员:m_strName * 无参构造函数:Stud

2017-07-24 18:46:44 539

原创 类内定义与内联函数的关系

类内定义与内联函数的关系 类内定义的成员函数,编译器会将其优先编译为内联函数,但是对于复杂的成员函数无法编译成内联函数的,就编译成普通的函数。

2017-07-21 22:00:11 648

转载 const的用法,特别是用在函数前面与后面的区别

**在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。 在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 this所保存的地址。**关键字:Const,Const函数,Const变量,函数后面的Const看到c

2017-07-15 15:55:08 506

转载 [C++ Primer Plus]学习笔记--C++内联函数

> #body { display: block; *display:inline-block: ; width: 990px; margin: 0 auto; padding: 9px; text-align: left;}#body::after { content: “.”; display: block; heigh

2017-07-06 08:59:07 361

原创 [C++ Primer Plus]学习笔记--Writing a file

//outfile.cpp--writing a file#include<iostream>#include<fstream>int main(){ using namespace std; char automobile[50]; int year; double a_price; double d_price; ofstream outFile

2017-07-02 22:33:55 227

原创 [C++ Primer Plus]学习笔记 --字符函数库cctype

c++中应该是#include <cctype>c中应该是#include <ctype.h>以下为字符函数库中常用的函数:函数名称返回值isalnum()如果参数是字母数字,即字母或数字,该函数返回trueisalpha()如果参数是字母,该函数返回真isblank()如果参数是空格或水平制表符,该函数返回trueiscntrl()如果参数是控制字符,该函数返回trueis

2017-07-01 23:28:30 343

原创 [C++ Primer Plus]学习笔记

编写一个使用嵌套循环的程序,要求用户输入一个值,指出要显示多少行.然后,程序将显示相应行数的 * 输入实例: Enter number of rows : 5 . . . . * . . . * * . . * * * . * * * * #include <iostream>int main(){ using namespace std;

2017-07-01 22:42:00 257

转载 [C++ Primer Plus]学习笔记--关于C++ string和c类型字符数组的对比

在c++中string是很方便操作的字符串,支持多种算数运算和比较运算,操作起来非常灵活。string也具有一些容器的性质,可以通过迭代器对字符元素进行访问. C类型的字符数组有如下三种初始化方式:char *c="journey";char c_arr[]="journey";char c_arr1[]={'j','o','u','r','n','e','y'};//前两种是等同的,最后一

2017-06-24 16:40:13 343

原创 [C++ Primer Plus]学习笔记--每次读取一行字符串输入

面向行的输入 1.getline( ) getline( )读取整行,它使用通过回车键输入的换行符来确定输入结尾. 使用方法:char name[20];cin.getline(name,20);2.get( )char name[20];cin.get(name,20);get( )也是读取整行,直到换行符,但是getline( )将丢弃换行符,而get( )将换行符保留在输入序列

2017-06-23 16:57:00 383

原创 [C++ Primer Plus]学习笔记--浮点数的优缺点

3.3.4 浮点数的优缺点 与整数相比,浮点数有两大优点.首先,它可以表示整数之间的数值.其次,由于有缩放因子,它可以表示的范围大得多.另一方面,浮点数的运算通常比整数慢,且精度将降低.下面程序证明了最后一点.#include<iostream>int main(){ using namespace std; float a=2.34e+22f; float b=a+1

2017-06-22 17:42:20 1491

原创 稀疏矩阵的压缩存储

实验目的:深入研究数组的存储表示和实现技术,着重掌握对稀疏矩阵的表示方法及其运算的实现。问题描述:稀疏矩阵是指那些多数元素为零的矩阵。利用‘稀疏’特点进行存储和计算可以大大节省存储 空间,提高效率。通过对稀疏矩阵的存储表示,实现矩阵的基本操作。实验要求: 1.要求矩阵的输入形式采用三元组表示,以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵。 2.设计矩阵的逆置算法,实现矩阵的逆置。 3

2017-06-03 23:48:53 1496 1

空空如也

空空如也

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

TA关注的人

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