
数据结构
凡尘里的星
坚持坚持
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构c语言学习笔记
顺序表 创建一个静态的顺序表存放整数,大小为10 1.输入6个整数,打印出顺序表的内容,并且显示表中剩余的空间个数 2.在顺序表的第三个位置插入元素0,打印表内容,并且显示表中剩余的空间个数 3.在试图向表中的第十一个位置插入整数0,并且显示超出范围 4.删除表中的第六个元素,打印出顺序表中的内容,并且显示表中剩余的空间个数 /** 创建一个静态的顺序表...原创 2018-02-11 10:29:14 · 532 阅读 · 0 评论 -
数据结构之约瑟夫环问题
有 n 个人,按 1 到 n 编号,要求从第 s 个人开始循环报数,报到 m 时,此人出列,再从下一个人开始报 m个数,直到所有人出列。给出 n 个人出列的顺序。 #include "stdio.h" typedef struct node{ int number; /*编号*/ struct node * next; }LNode,*LinkList; void CreatJoseph...原创 2018-02-20 18:46:04 · 732 阅读 · 0 评论 -
数据结构之兰大复试题
输出 100 - 999 中的所有完全平方数,且有两位数字相同。如: 144 676 #include "stdio.h" #include "math.h" int same(int a){//用来判断一个三位数是否存在有两位数字相同 int m,n,l,num=1; m=(int)(a/100); //得到a 的百位 n=(int)((a-m*100...原创 2018-03-15 23:15:38 · 539 阅读 · 0 评论 -
数据结构之兰州大学复试题2014
输入一个字符串 str_1 ,输出一个新串 str_2 ,如果字符串 str_1 中的字母已经出现过,新串中不显示。 如输入。 asbabwe 输出: asbwe #include "stdio.h" #define Max 80 void add(char c,char str2[]){ int l=0; while(str2[l]!='\0') { ...原创 2018-03-15 23:15:55 · 641 阅读 · 0 评论 -
数据结构之回溯思想
回溯思想 已知楼梯有20阶台阶,上楼可以一步上1阶,也可以一步上2阶。请编写一个程序,计算总共有多少种不同的上楼梯的方法。 #include "stdio.h" #define Max 20 //定义20个台阶的楼梯 int Steps[Max]={0}; //steps[i]等于1或者2,记录第i步登上的台阶数 int num=0; //记录上楼梯方案的数目 void ...原创 2018-02-19 21:01:26 · 432 阅读 · 2 评论 -
数据结构c语言之字符串处理
题目 输入一个字符串,将连续重复的字符只输出一个,前面加上重复的个数,例如输入”aaabbbbcc”,输出“3a4b2c” #include <stdio.h> int main() { char a[80]; char b[80]={0}; char *p; char c; int num=1; printf("请输入一个字符串:\n"); scanf("%s",a); ...原创 2018-03-14 17:50:00 · 589 阅读 · 0 评论 -
数据结构之c语言----从字符串中剔除另一个字符串
输入字符串,abababab和aba,第一个串剔除aba,输出bb /*在一个字符串中剔除另一个串*/ #include <stdio.h> int main() { char a[80]={'/0'}; char b[80]={'/0'}; char c[80]={'/0'}; char * a1; int j=0; prin...原创 2018-03-14 17:45:55 · 2763 阅读 · 0 评论 -
数据结构 之c语言 --判断身份证合法
判断身份证是否合法 #include <stdio.h> int main() { char a[80]; char *p; int i; printf("请输入一个身份证号:\n"); scanf("%s",a); p=a; if(strlen(a)==18){ for(i=0;i<17;i++)...原创 2018-03-14 17:32:13 · 5179 阅读 · 1 评论 -
数据结构之递归与分治的思想
递归与分治的思想: 解决一些规模较大的问题时,常常将问题进行分解,将一个规模较大的问题分割成为规模较小的同类问题,然后将小的问题逐个的加以解决,最终整个问题就迎刃而解。最为经典的分治思想就是“折半查找算法”,采用分治的策略不断地缩小问题的规模。 递归的思想:就是直接或者间接的调用原算法本身的一种算法。 递归算法的注意点: 每个递归函数都必须有一个非递归定义的初始值,作为递归的结束标志...原创 2018-02-19 13:00:45 · 639 阅读 · 0 评论 -
数据结构之常用算法(一)
寻找1到100之间的素数 打印出1-100之间的素数,然后每四个打印一个换行符 #include "stdio.h" int prime_number(int p){ //用来判断一个数是否是素数,如果是就返回1,否则返回0 int i; int m=p/2+1; if(p==0)return 0; else if(p==1)return 0; for(...原创 2018-02-19 10:13:39 · 187 阅读 · 0 评论 -
数据结构之队列
队列 队列是一种很有用的线性结构,操作系统中进程的管理,数据库系统的实现几乎都离不开队列 下面通过一个例子来看一下队列吧 实现一个链队列,输入任意的一串字符,以@作为结束的标志,然后将队列的元素逐一取出,打印在屏幕上 首先要调用函数初始化一个队列 然后通过EnQueue()函数将输入的字符顺序插入队列之中,直到输入字符@为止 通过DeQueue()函数将队列的元素输出,并且打印出来,...原创 2018-02-19 09:27:08 · 211 阅读 · 0 评论 -
数据结构之栈
栈 利用栈的数据结构,将二进制转换为十进制 首先初始化创建一个栈 然后通过循环语句输入二进制0/1,用’#”作为结束标志。在输入的过程,用push()将二进制字符串从高位到低位顺序压栈 输入完毕,用StackLen()函数得到二进制的长度,然后通过循环逐一从栈顶取数,用pop()函数实现,取出的字符存放在变量c中,c-48是为了得到字符对应的0/1值,0的asii码为48,函数pow(x,y...原创 2018-02-15 11:21:39 · 232 阅读 · 0 评论 -
数据结构 c语言(二)
链表的基本操作 编写一个程序,要求从终端输入一组整数(大于10个数)以0作为 结束标志,将这一组整数存放在一个链表中,打印出该链表中的值, 然后删除链表中的第五个元素,打印出删除后的结果。最后在内存中释放掉该链表 /**编写一个程序,要求从终端输入一组整数(大于10个数)以0作为 结束标志,将这一组整数存放在一个链表中,打印出该链表中的值, 然后删除链表中的第五个元素,...原创 2018-02-12 11:08:18 · 594 阅读 · 0 评论 -
判断一串数是否是另一串数的出栈顺序
输入 2 组数,用编程判断后者能否作为前者的出栈顺序。例如先输入 12345 ,再输入 32145 就输出 yes 。如果后 者是 31245 就输出 no 。 完整的代码: #include "stdio.h" #include<stdbool.h> #define maxsize 50 typedef int datatype; //Sequence Stack 实...原创 2018-02-22 10:59:03 · 458 阅读 · 0 评论