自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 链表总结-C

链表总结一、理论部分1.节点组成2.基本操作二、具体实现1.基本操作——插入A.尾插法B.头插法C.任意位置插入2.基本操作——删除 一、理论部分 1.节点组成 数据域+指针域(下一个链表的地址) note:表头变量head存放链表首地址 struct Node{ int data; //数据域可随意定义 struct Node* next; //指针域 } 2.基本操作 a.插入:头插法,尾插法,任意位置插入 b.删除 c.遍历打印 d.逆转链表(递归、迭代) 二、具体实现 1.基本操作——

2021-08-08 19:50:18 464

原创 排序

输入格式: 输入第一行给出正整数N(N≤10​0000),随后一行给出N个(长整型范围内的)整数,其间以空格分隔。 输出格式: 在一行中输出从小到大排序后的结果,数字间以1个空格分隔,行末不得有多余空格。 输入样例: 11 4 981 10 -17 0 -20 29 50 8 43 -5 输出样例: -20 -17 -5 0 4 8 10 29 43 50 981 方法一 选择排序 #include<stdio.h> void SampleSelectSort(int* a,int n) {

2021-01-31 14:30:42 166

原创 根据后序和中序遍历输出先序遍历

本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。 输入格式: 第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。 输出格式: 在一行中输出Preorder: 以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。 输入样例: 7 2 3 1 5 7 6 4 1 2 3 4 5 6 7 1.建树-储存-先序访问 #include<stdio.h> #in

2021-01-27 10:41:18 212

原创 双端队列

双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作: Push(X,D):将元素X插入到双端队列D的头; Pop(D):删除双端队列D的头元素,并返回; Inject(X,D):将元素X插入到双端队列D的尾部; Eject(D):删除双端队列D的尾部元素,并返回。 bool Push(ElementType X,Deque D) { if((D-&g

2021-01-17 11:21:42 158

原创 链表逆置三种方法总结(C)

1.通过建立一个新链表实现 struct ListNode *reverse(struct ListNode *head) { struct ListNode *head1=NULL,*p=NULL; while(head) { p=(struct ListNode*)malloc(sizeof(struct ListNode));//申请内存 p->data=head->data; p->next=head1; //利用

2020-12-14 19:50:17 908

原创 实验11-2-7 统计专业人数

实验11-2-7 统计专业人数 思路:链表的遍历 错误:明明看到char了,仍然在判断中写int。 int countcs( struct ListNode *head) { int i=0,cnt=0; struct ListNode *ptr; for(ptr=head;ptr!=NULL;ptr=ptr->next) { if(ptr->code[1]=='0'&&ptr->code[2]=='2') {

2020-12-12 10:53:15 190

原创 删除单链表偶数节点

实验11-2-4 删除单链表偶数节点 struct ListNode *createlist() { struct ListNode *p,*head,*tail; int num; scanf("%d",&num); head=tail=0; while(num!=-1) { p=(struct ListNode*)malloc(sizeof(struct ListNode)); p->data=num;

2020-12-12 09:46:15 619

原创 学生成绩链表处理

实验11-2-2 学生成绩链表处理 struct stud_node *createlist() { int num; struct stud_node *tail,*p,*head; scanf("%d",&num); head=tail=NULL; while(num!=0) { p=(struct stud_node*)malloc(sizeof(struct stud_node)); p->num=num;

2020-12-11 20:52:48 426 1

原创 实验10-1 圆形体体积计算器

Note:pi需要精确到小数点后10位 方法一:if-else if语句 #include<stdio.h> #define pi 3.1415926535 int main() { int n; double v,r,h; while(1) { printf("1-Ball\n"); printf("2-Cylinder\n"); printf("3-Cone\n"); printf("other

2020-12-06 09:39:21 378 1

原创 实验9-8 通讯录排序

题目 输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。 输入格式: 输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。 输出格式: 按照年龄从大到小输出朋友的信息,格式同输出。 #include<stdio.h>

2020-12-05 15:23:22 474

原创 时间换算

Note:输出补零 #include<stdio.h> struct time { int h; int m; int s; } t; int main() { int ss; scanf("%d:%d:%d",&t.h,&t.m,&t.s); scanf("%d",&ss); t.s=t.s+ss; if(t.s>=60) { t.s-=60; t.

2020-12-05 09:10:38 205

原创 实验4-2-5 水仙花数

错误:这个题目并不难,但一直卡在N==7时间超时,看了一些大佬的也都是自己写了pow函数。我自己写了一个pow函数,果然通过了。 #include<stdio.h> int issxh(int p,int n); int _pow(int x,int y); int main() { int N,m,n,i; scanf("%d",&N); m=_pow(10,N-1); n=_pow(10,N); for(m;m<=n;m++)

2020-12-01 18:53:52 251

原创 实验8-2-10 IP地址转换 (20分)

错误:犯了一个致命的错误,把输入样例做成int型输入了,导致一直输出不了正确答案。 思路:将输入样例化成四份,每份做累加即可。 #include<stdio.h> #include<math.h> int main() { char a[32]; int b[4]={0}; int i,j; for(i=0;i<32;i++) scanf("%c",&a[i]); for(i=0;i<4;i++) {

2020-11-30 21:09:19 318

空空如也

空空如也

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

TA关注的人

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