![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 51
yeranc137
这个作者很懒,什么都没留下…
展开
-
c语言数据结构:循环队列解决约瑟夫问题
目录1.函数代码:2.主函数以及其他结构体定义:1.函数代码:void JosephCircle(SqQueue&Q,int n,int m){ ElemType e; int i=1; int Count = n;//用来记录剩下的人数 while(Count != 1) { i = 1;//i用来控制是第几个人报数 while(i != m)//当i的值不等于m的值时 { Q.f原创 2021-04-23 16:48:22 · 2436 阅读 · 0 评论 -
数据结构作业:括号匹配算法(【{}】)利用压栈弹栈原理
括号匹配算法该算法的原理:算法的内容:与该算法配套的压栈和弹栈算法以及结构体定义:该算法的原理:判断是否出现 {【(,出现则压入栈中,如果遇到}】),则弹出上一个栈与其对比。算法的内容:void validstr(char*str,SqStack*&s){ int flag=1; int i; for(i=0; *(str+i)!='\0'; i++) { if((*(str+i) == '{' )|| (*(str+i) =='[') || (*(str+i) =='原创 2021-04-18 10:06:36 · 166 阅读 · 0 评论 -
链式队列及基本操作by解学武(转载)
本文来自解学武的教程免费章节什么是链式队列链式队列,简称"链队列",即使用链表实现的队列存储结构。链式队列的实现思想同顺序队列类似,只需创建两个指针(命名为 top 和 rear)分别指向链表中队列的队头元素和队尾元素,如图 1 所示:图 1 所示为链式队列的初始状态,此时队列中没有存储任何数据元素,因此 top 和 rear 指针都同时指向头节点。在创建链式队列时,强烈建议初学者创建一个带有头节点的链表,这样实现链式队列会更简单。//链表中的节点结构typedef struct Q转载 2021-02-26 17:00:57 · 364 阅读 · 0 评论 -
c语言描述:数据结构【四.栈与队列】(顺序队列)
笔记目录前言结构体使用初始化入队出队遍历前言这些代码均为自己在郝斌老师教学的基础下自己的理解与补充,以及一些详细的解释结构体使用#include<stdio.h>typedef struct Queue{ int *pBase; int front; int rear;}QUEUE;初始化void init (QUEUE *pQ)//初始化{ pQ->pBase=(int*)malloc(sizeof(int)*6); pQ->fron原创 2021-02-26 16:32:34 · 80 阅读 · 0 评论 -
数据结构:顺序栈基本操作(入栈和出栈)C语言详解(转载)by解学武
本文为解学武教程的免费章节什么是顺序栈顺序栈,即用顺序表实现栈存储结构。通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 “先进后出” 的原则,本节就“如何使用顺序表模拟栈以及实现对栈中数据的基本操作(出栈和入栈)” 给大家做详细介绍。如果你仔细观察顺序表(底层实现是数组)和栈结构就会发现,它们存储数据的方式高度相似,只不过栈对数据的存取过程有特殊的限制,而顺序表没有。例如,我们先使用顺序表(a 数组)存储 {1,2,3,4},存储状态如图 1 所示:同样,使用栈存储结构存储转载 2021-02-26 10:07:55 · 7221 阅读 · 0 评论 -
c语言描述:数据结构【四.栈与队列】(链栈的使用)
笔记目录前言结构体使用栈的初始化压栈操作遍历操作判断栈是否为空出栈操作清除数据操作前言这些代码均为自己在郝斌老师教学的基础下自己的理解与补充,以及一些详细的解释结构体使用#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct Node{ int data; struct Node* pNext;}node,*pnode;typedef struct Stack原创 2021-02-25 18:15:02 · 119 阅读 · 0 评论 -
数据结构:栈与队列的知识点by解学武
文章来自解学武学习网站的免费章节目录什么是栈进栈和出栈栈的应用什么是队列队列的出队和入队队列的实现什么是栈同顺序表和链表一样,栈也是用来存储逻辑关系为 “一对一” 数据的线性存储结构,如图 1 所示。从图 1 我们看到,栈存储结构与之前所学的线性存储结构有所差异,这缘于栈对数据 “存” 和 “取” 的过程有特殊的要求:栈只能从表的一端存取数据,另一端是封闭的,如图 1 所示;在栈中,无论是存数据还是取数据,都必须遵循"先进后出"的原则,即最先进栈的元素最后出栈。拿图 1 的栈来说,从图中数据的转载 2021-02-25 15:21:49 · 521 阅读 · 0 评论 -
c语言描述:数据结构【三.线性表】(双链表的使用)
笔记目录结构体使用创建双链表遍历双链表删除某个元素结构体使用#include<stdio.h>#include<malloc.h># include <stdlib.h>typedef struct doublenode{ int data; struct doublenode*prior; struct doublenode*next;}Doublenode,*pDoublenode;//相当于struct doublenode,st原创 2021-02-25 12:11:04 · 85 阅读 · 0 评论 -
c语言描述:数据结构【三.线性表】(链表的使用)
笔记目录前言结构体使用创造链表遍历链表数据判断是否为空以及测量长度插入数据删除数据前言这些代码均为自己在郝斌老师教学的基础下自己的理解与补充,以及一些详细的解释结构体使用#include<stdio.h>#include<malloc.h># include <stdlib.h>typedef struct Node{ int data; struct Node *pnext}node,*pnode;/*相当于将node等价于struct原创 2021-02-24 17:33:42 · 93 阅读 · 0 评论 -
c语言描述:数据结构【三.线性表】(连续存储数组算法)
笔记目录前言利用结构体的方式初始化函数init()判断是否满和空full()empty()遍历函数show()追加函数append()插入函数insert()删除函数delete()倒序函数inversion()排序函数sort()前言这些代码均为自己在郝斌老师教学的基础下自己的理解与补充,重新打过,以及一些详细的解释利用结构体的方式#include<stdio.h>#include<malloc.h>//包含了malloc函数# include <stdlib.h原创 2021-02-23 16:14:39 · 104 阅读 · 0 评论 -
c语言描述:数据结构【三.线性表】
连续存储【数组】前言本知识总结来自于郝斌老师的数据结构大纲, 故投转载。 本人为大一计算机专业学生,自学过程中想借博客记录知识点,同时方便以后复习。1、什么叫做数组元素类型相同,大小相等(数组传参,只要传进去首地址和长度就行)2、数组的优缺点:优点:存取速度快 缺点:事先必须知道数组的长度插入删除元素很慢空间通常是有限制的需要大块连续的内存块插入删除元素的效率很低离散存储【链表】定义:n个节点离散分配彼此通过指针相连每个节点只有一个前驱节点,每个节点只转载 2021-02-22 16:37:10 · 108 阅读 · 0 评论 -
c语言描述:数据结构【二.算法】
前言本知识总结来自于书本《大话数据结构》, 故投转载。 本人为大一计算机专业学生,自学过程中想借博客记录知识点,同时方便以后复习。二.算法1. 定义算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作2.特性1.有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。2.确定性:算法的每一步骤都具有确定的含义,不会出现二义性。3.可行性:算的每一步都必须是可行的,也就是说,每一步都能够通过执行有转载 2021-02-22 11:30:51 · 191 阅读 · 0 评论 -
c语言描述:数据结构【一.数据结构绪论】
前言本知识总结来自于书本《大话数据结构》, 为本人手打,故投转载。 本人为大一计算机专业学生,自学过程中想借博客记录知识点,同时方便以后复习。一.数据结构绪论1.数据程序设计=数据结构+算法(很重要); 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。(符号具备:1.可以输入到计算机中2.能被计算机程序处理);数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理(也被称为记录);数据项:一个数据元素可以由若干个数据转载 2021-02-20 23:15:34 · 180 阅读 · 0 评论 -
c语言文件,向student.stu写入五个结构体关于学生信息数据,并显示数据在屏幕上
#include<stdio.h> typedef struct student{ char name[8]; long num; int score;}student ;#define N 5void main(){ int i,j; struct student stu[N]; FILE *fp; char ch;char str1[5]="STU\n";char str2[5]="0";char str3[5]="\n";{原创 2021-01-02 14:24:03 · 2546 阅读 · 1 评论 -
c语言链表:编写input()output()insert()delete()来输入学生成绩
#include<stdio.h>#include<stdlib.h>struct Student{ int studid; /*学号*/ char name[10]; /*姓名*/ int score1; int score2; int score3; int total; /*总成绩*/ struct Student *next; /*指向下一个结点的指针*/};void inputlist(struct Student *phead原创 2020-12-30 00:21:55 · 481 阅读 · 0 评论 -
结构体:调用四个函数完成:输入学号,姓名,三科成绩,print输出一个人的成绩,input输入,max求平均分最大值,average求这五个同学的三科总平均分
#include<stdio.h>#define N 5struct student{ char num[6]; char name[8]; int score[3];}stu[N];void input(){ int i,j; for(i=0;i<N;i++) { printf("请输入第%d个学生的档案:\n",i+1); printf("学号:");scanf("%s",stu[i].num); print原创 2020-12-29 10:35:26 · 1105 阅读 · 0 评论 -
从接盘接受一个2位数,输出其质因子分解公式,如输入24,输出24=2*2*2*3。
质因子分解公式#include <stdio.h>int main(){ int n,i,a=0; scanf("%d",&n); printf("%d=",n); for(;a==0;) { for(i=2;i<=n;i++) { if(n==i)a=1; if(n%i==0) break; } printf("%d",i);原创 2020-12-26 11:56:59 · 684 阅读 · 0 评论 -
整理英语句子:将首字母大写,单词之间只能一个空格,最后加句号
利用指针指向字符串#include<stdio.h>#include<string.h>void sentence(char*p1){ char*p2; if(p1[0]>='a'&&p1[0]<='z') p1[0]-=32; while(*p1)//数组其他元素均为0,若为零则可以无视,因为待会要插入一个中指符'\0'{ p2=p1+1;//p2指针指向下一个数组元素 if(*p1==' ') { whi原创 2020-12-26 11:24:05 · 788 阅读 · 4 评论 -
超级素数c语言,每个位都为素数
超级素数c语言#include<math.h>int prime(int m){int i,k;if(m!=0)k=(int)sqrt(m);for ( i = 2; i <=k; i++){if (m%i0)break;}if(i>k)return 1;elsereturn 0;}int super(int u){int a,b,c;int flag=0;a=prime(u/1%10);b=prime(u/10%10);c=prime(u原创 2020-12-22 20:33:08 · 3391 阅读 · 5 评论 -
关于2进制与十六进制的转换;C语言
话不多说,直接贴代码:#include<stdio.h>void fun(int m,int k){ int aa[100],i;char he[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; if (k==2) { for ( i = 0; m; i++){aa[i]=m%k;m=m/k;} for ( i = i-1; i >原创 2020-12-19 21:56:49 · 3009 阅读 · 1 评论