数据结构
凡尘里的星
坚持坚持
展开
-
数据结构c语言学习笔记
顺序表创建一个静态的顺序表存放整数,大小为10 1.输入6个整数,打印出顺序表的内容,并且显示表中剩余的空间个数 2.在顺序表的第三个位置插入元素0,打印表内容,并且显示表中剩余的空间个数 3.在试图向表中的第十一个位置插入整数0,并且显示超出范围 4.删除表中的第六个元素,打印出顺序表中的内容,并且显示表中剩余的空间个数/** 创建一个静态的顺序表...原创 2018-02-11 10:29:14 · 435 阅读 · 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 · 683 阅读 · 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 · 480 阅读 · 0 评论 -
数据结构之兰州大学复试题2014
输入一个字符串 str_1 ,输出一个新串 str_2 ,如果字符串 str_1 中的字母已经出现过,新串中不显示。 如输入。 asbabwe 输出: asbwe#include "stdio.h"#define Max 80void add(char c,char str2[]){ int l=0; while(str2[l]!='\0') { ...原创 2018-03-15 23:15:55 · 590 阅读 · 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 · 375 阅读 · 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 · 540 阅读 · 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 · 2711 阅读 · 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 · 4981 阅读 · 1 评论 -
数据结构之递归与分治的思想
递归与分治的思想:解决一些规模较大的问题时,常常将问题进行分解,将一个规模较大的问题分割成为规模较小的同类问题,然后将小的问题逐个的加以解决,最终整个问题就迎刃而解。最为经典的分治思想就是“折半查找算法”,采用分治的策略不断地缩小问题的规模。递归的思想:就是直接或者间接的调用原算法本身的一种算法。递归算法的注意点:每个递归函数都必须有一个非递归定义的初始值,作为递归的结束标志...原创 2018-02-19 13:00:45 · 576 阅读 · 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 · 158 阅读 · 0 评论 -
数据结构之队列
队列队列是一种很有用的线性结构,操作系统中进程的管理,数据库系统的实现几乎都离不开队列下面通过一个例子来看一下队列吧实现一个链队列,输入任意的一串字符,以@作为结束的标志,然后将队列的元素逐一取出,打印在屏幕上首先要调用函数初始化一个队列然后通过EnQueue()函数将输入的字符顺序插入队列之中,直到输入字符@为止通过DeQueue()函数将队列的元素输出,并且打印出来,...原创 2018-02-19 09:27:08 · 168 阅读 · 0 评论 -
数据结构之栈
栈利用栈的数据结构,将二进制转换为十进制首先初始化创建一个栈然后通过循环语句输入二进制0/1,用’#”作为结束标志。在输入的过程,用push()将二进制字符串从高位到低位顺序压栈输入完毕,用StackLen()函数得到二进制的长度,然后通过循环逐一从栈顶取数,用pop()函数实现,取出的字符存放在变量c中,c-48是为了得到字符对应的0/1值,0的asii码为48,函数pow(x,y...原创 2018-02-15 11:21:39 · 171 阅读 · 0 评论 -
数据结构 c语言(二)
链表的基本操作编写一个程序,要求从终端输入一组整数(大于10个数)以0作为 结束标志,将这一组整数存放在一个链表中,打印出该链表中的值, 然后删除链表中的第五个元素,打印出删除后的结果。最后在内存中释放掉该链表/**编写一个程序,要求从终端输入一组整数(大于10个数)以0作为 结束标志,将这一组整数存放在一个链表中,打印出该链表中的值, 然后删除链表中的第五个元素,...原创 2018-02-12 11:08:18 · 557 阅读 · 0 评论 -
判断一串数是否是另一串数的出栈顺序
输入 2 组数,用编程判断后者能否作为前者的出栈顺序。例如先输入 12345 ,再输入 32145 就输出 yes 。如果后 者是 31245 就输出 no 。完整的代码:#include "stdio.h"#include<stdbool.h>#define maxsize 50typedef int datatype;//Sequence Stack 实...原创 2018-02-22 10:59:03 · 421 阅读 · 0 评论