
算法学习
Coder233
个人比较喜欢技术。
熟悉C语言,
熟悉汇编语言(ARM/X86),
了解linux 操作系统,
了解C++ ,java语言,
喜欢对底层操作系统原理的理解。
喜欢与人讨论底层技术。
可以关注我,以后会时时更新技术的学习心得。
展开
-
计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?
试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。/*char*itoa(int value,char*string,int radix);int value 被转换的整数,char *string 转换后储存的字符数组,int ra原创 2017-11-18 18:37:27 · 12490 阅读 · 1 评论 -
PAT 1006. 换个格式输出整数 (15)
1006. 换个格式输出整数 (15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入...原创 2018-04-19 18:13:49 · 214 阅读 · 0 评论 -
数据结构 链表的创建--C语言描述
#include<cstdio>#include<cstdlib>struct student{ long no;//学号 char name[20];//姓名 char addr[30];//地址 struct student *next;};typedef struct student LIST;/*链表五步法1.申请内存2.内存next=...原创 2018-04-26 20:49:43 · 298 阅读 · 0 评论 -
数据结构--链表实现学生信息的创建,插入,删除(C语言实现)
#include<cstdlib>struct student{ long no;//学号 char name[20];//姓名 char addr[30];//地址 struct student *next;};typedef struct student LIST;//链表五步法//1.申请内存2.内存next=NULL 3.与前一个节点链接prev->n...原创 2018-04-27 20:34:14 · 5635 阅读 · 2 评论 -
链表实现两个多项式相加--C语言实现
#include<stdio.h>#include<stdlib.h>struct node{ int exp; float coef; struct node *next;}; typedef struct node ListNode;ListNode *createpoly() //创建多项式链表 { ListNode *h=NULL, *p...原创 2018-04-28 00:31:16 · 4274 阅读 · 0 评论 -
逆置 数组实现和链表实现 (C语言实现)
小练习 逆置 数组实现和链表实现 1.使用指针将数组中的元素按照逆序排放 /*思路:1.输入数组数量2.用display_array显示数组元素3.逆序函数reverse_array()*/#include<stdio.h>#include<stdlib.h>void Reverse_array(int *array, int n){ /...原创 2018-04-28 17:39:18 · 451 阅读 · 0 评论 -
杭电 1000 A + B Problem
Problem Description Calculate A + B. Input Each line will contain two integers A and B. Process to end of file. Output For each case, output A + B in one line. Sample Input 1 ...原创 2018-09-03 14:23:57 · 190 阅读 · 0 评论 -
杭电2005
/*Problem Description给定一个日期,输出这个日期是该年的第几天。Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。Output对于每组输入数据,输出一行,表示该日期是该年的第几天。Sample Input1985/1/20 2006/3/12...原创 2018-09-10 17:54:32 · 243 阅读 · 0 评论 -
杭电2009 求数列的和
Problem Description数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。 Input输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。 Output对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。 Sample Input81 42...原创 2018-09-10 18:49:10 · 350 阅读 · 0 评论 -
输入一个自然数,求其各个数位上数字之和
//输入一个自然数,求其各个数位上数字之和 #include<stdio.h>int main(){ int sum=0, x; while(scanf("%d",&x)!=EOF) { while(x) { sum=sum+x%10;//对每一位取余数 x=x/10; } printf("%d\n...原创 2018-09-07 16:33:04 · 10524 阅读 · 2 评论 -
求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。
/*求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。例如,n=5时=2+22+222+2222+22222,n由键盘输入。*//*分析: 2 22 2*10+2 2(10+1)222 2*10*10+2*10+2 2(10^2+10^1+10^0)2222 2*1000+2*10*10+2*10+2 2(10^3+10^...原创 2018-09-13 13:54:12 · 8520 阅读 · 0 评论 -
C语言求完数
解题思路:分析:1.输入N2.扫描每一个1~N的数3.将当前数字的因子分解出来,累加当前因子求和,将这个数的所有因子保存到数组a中 4.用因子的和与当前数字对比,若相等即是完数,输出这个完数和它的因子5.刷新当前数据,使sum和数组a恢复到初始状态以便于下一个数字的查找6.直到扫描完所有数据程序结束注意事项:数组的空间要足够大,有些数的因子很多不足够保存,尽量大点,虽然数组分配20...原创 2018-09-13 20:20:04 · 11085 阅读 · 3 评论 -
进阶研究动态分配malloc()将野指针转化为不"野"的指针
编写链表时应注意指针的地址变化示注意 如下所示: #include<stdio.h> #include<stdlib.h>int main(){ int *p, *a, *b,*c; p=a; //a=(int*)malloc(sizeof(int)); printf("%p %p\n",p,a); return 0;}当两个野指...原创 2018-09-24 20:52:31 · 379 阅读 · 0 评论 -
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
在借变量时总是被先后顺序搞得头晕 分子是上一个分数分子分母的和分母是上一个分子#include<stdio.h>int main(){ double n=2,m=1,N,t,sum=0.00; scanf("%Lf",&N); while(N) { sum=sum+n/m; t=m; ...转载 2018-09-14 17:07:00 · 18162 阅读 · 0 评论 -
C语言求一个3*3矩阵对角线元素之和
题目描述求一个3*3矩阵对角线元素之和输入矩阵输出主对角线和副对角线元素之和样例输入1 2 31 1 13 2 1样例输出3 7#include<stdio.h>int main(){ int a[3][3],sum1=0,sum2=0; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { ...原创 2018-09-15 11:59:18 · 11752 阅读 · 1 评论 -
数据结构--顺序表实现数据处理系统(C语言)
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10 #define OK 1#define ERROR 0#define true 1 typedef int Status;typedef int DataType; typedef struct { DataType *Element;...原创 2018-10-05 14:19:25 · 413 阅读 · 0 评论 -
C语言创建二叉树
//C语言实现创建二叉树 #include<stdio.h>#include<stdlib.h>typedef int DataType;typedef struct Node{ DataType Data; struct Node *lchild, *rchild;}BinTNode, *BiTree;void Create_BinTree(Bi...原创 2018-10-05 15:46:02 · 15932 阅读 · 6 评论 -
输入一个数统计各位上的和并将其按拼音显示
#include<stdio.h>int main(){ unsigned int n,num,N,Num,q,sum=0,Sum=0,SUM=0,count=1, count01=1; char arr[][5]= { "ling","yi", "er", "san", "si", "wu", "liu","原创 2018-04-13 18:32:07 · 309 阅读 · 0 评论 -
浙大PAT 1001. C语言实现
1001. 害死人不偿命的(3n+1)猜想 (15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶...原创 2018-04-13 15:59:58 · 313 阅读 · 0 评论 -
将数字转化为字符串
//数字转化为字符串#include int main (void) { int num=123456789,i=0,j=0,number=0; char string[10]={"0"},temp=0; scanf("%d",&num); number=num; do { //统计位数并存入原创 2017-11-19 09:49:02 · 870 阅读 · 0 评论 -
C语言输入一个数,打印其输出的次数
C语言输入一个数,打印其输出的次数,如输入-2223334 2输出3#include int Count_Digit ( const int N, const int D );int main(){ int N, D; scanf("%d %d", &N, &D); printf("%d\n", Count_Di原创 2016-12-12 17:47:34 · 3961 阅读 · 0 评论 -
C语言创建链表
#include<stdio.h>#include<stdlib.h>typedef struct node{ int Data; struct node *next; }Node, *Linklist; typedef Linklist List;void create_Linklist(){ List head, p, p1; head=p=p...原创 2018-04-07 20:36:43 · 2166 阅读 · 0 评论 -
C++优先队列
/*优先队列 */ #include<iostream>#include<queue>#include<string>using namespace std;struct fruit{ string name; int price; friend bool operator<(fruit f1,fruit f2) { retu...原创 2018-04-08 14:30:05 · 205 阅读 · 0 评论 -
C++stack使用
/*stack的常见用法*//* stack 翻译为栈 ,是STL中实现的一个后进先出的容器*/ /*stack 的定义:头文件#include<stack> 和”“using namespace std;” stack<typename > name;*/ /*stack 容器内元素的访问通过top()访问栈顶元素 */ #include...原创 2018-04-08 14:32:16 · 414 阅读 · 0 评论 -
C++pair的用法
/* pair 的常见用法详解*//*pair 可以看作是内部有两个元素的结构体,且这两个元素是可以指定的 示例如下:struct pair{ typeName1 first; typeName2 second;} pair 的定义头文件#include<utility>和using namespace std;注意:map头文件中自动添加utility头文...原创 2018-04-08 14:34:06 · 1829 阅读 · 0 评论 -
C++ algorithm头文件函数的基本用法
algorithm/*algorithm头文件下的常用函数*//*使用algorithm头文件,需要在头文件下加一行using namespace std;” */ //常用函数max(), min(), abs()//swap()//reverse()//next_permutation()//fill()// sort()//lower_bound和upper_b...原创 2018-04-08 14:43:18 · 13666 阅读 · 0 评论 -
C++栈和队列的基本操作
//数据结构//栈的应用//栈的基本操作 //清空(clear),获取栈内元素个数(size),判空(empty)进栈(push),出栈(pop),取栈顶元素(top)注意:int型变量TOP表示栈顶元素的下标(数组下标从0开始),这样栈空时TOP就是-1(1)清空(clear)void clear(){ TOP=-1;}(2)获取栈元素个数(size)i...原创 2018-04-08 20:01:54 · 367 阅读 · 0 评论 -
《算法笔记--胡凡,曾磊主编》set的用法
set的用法set 翻译为集合,是一个内部有序且不重复的容器#include<set> using namespace std;set的定义 定义一个set :set<typename> name;例如:set<char> name;set<int> name;set<double> name;set<no...原创 2018-04-05 18:41:40 · 399 阅读 · 0 评论 -
数据结构之图的邻接矩阵定义..
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>typedef char Vertex[4]; //存储顶点字符 typedef char InfoPtr; //存储弧的信息 typedef int VRType; //弧或边的权...原创 2018-04-12 19:04:19 · 1863 阅读 · 1 评论 -
求数组中最大值
#include "stdio.h"int findmax(int *p,int n){ int i,maxi; for(maxi=i=0;i<n;i++) if( p[maxi] < p[i] )//比较两个元素的值的大小 maxi=i; //将较大的值的下标赋值给maxi return p[maxi];}/...原创 2018-04-06 11:11:57 · 433 阅读 · 0 评论 -
数据结构之邻接表
//邻接表是图的一种链式存储方式.采用邻接表表示图一般需要两个表结构:边表和表头结点在邻接表中,图的每一个顶点都建立一个单链表,弧结点由3个域组成,分别为邻接点域, 数据域和指针域邻接点域:与相应的表头顶点相邻顶点的位置数据域:存储与边或弧的信息指针域:指示与表头相邻接的下一个顶点表头结点:数据域和指针域图的邻接表存储结构描述如下:#define MaxSize...原创 2018-04-12 19:32:11 · 1336 阅读 · 0 评论 -
数据结构之图的邻接表
#include<stdlib.h>#include<stdio.h>#include<malloc.h>#include<string.h>typedef char VertexType[4];typedef char InfoPtr;typedef int VRType;#define MaxSize 50 //顶点个数...原创 2018-04-12 20:34:10 · 374 阅读 · 0 评论 -
链表的创建
#include<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node *next; }Node,*linklist;create_linklist(){ Node *head, *p, *p1; head = p = p1 = (Node*)malloc( size...原创 2018-04-06 15:51:28 · 171 阅读 · 0 评论