自定义博客皮肤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)
  • 问答 (1)
  • 收藏
  • 关注

原创 二叉树--请设计一个算法,将给定的表达式树(二叉树)转换为等价的中缀表达式(通过括号反映操作符的计算次序)并输出。

/* * / \ + * / \ / \ a b c - \ d(a+b)*(c*(-d))*/typedef struct node{ char data[10]; struct node *left,*right;}BTree;/...

2020-04-24 23:13:42 4747 3

原创 二叉树--1.求二叉树高度。2.判断是否为完全二叉树。3.求二叉树带权路径长度和。4.孩子兄弟表示法存储的森林叶子结点数

#define MaxSize 50typedef enmu{false,true} bool;typedef char ElemType_c;typedef struct BitNode{ ElemType_c data; struct BitNode *lchild,*rchild;}BitNode,*BiTree;/*求二叉树的高度,判断是否为完全二叉树,实际上都是二叉树层次...

2020-04-21 22:41:14 311 1

原创 链表--用单链表保存m个整数,且|data|小于等于n。现要求设计一个时间复杂度尽可能高效的算法,对链表中绝对值相等的结点,仅保留第一次出现结点,而删除其余绝对值相同结点

#include <stdlib.h>typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;void Del_abs_same(LinkList L,int n){ LNode *pre=L,*p=L->next,*f; int *q=malloc(sizeof(int)*(n+1))...

2020-04-19 23:52:17 4664 6

原创 链表--带头结点的非循环双向链表,其中每个结点中多一个freq频度域。每次Locate(L,x)访问过值为x的函数后,freq+1,并使此链表中结点保持按访问频度递减的顺序排列

/*带头结点的非循环双向链表,其中每个结点中多一个freq频度域。每次Locate(L,x)访问过值为x的函数后,freq+1,并使此链表中结点保持按访问频度递减的顺序排列, 同时最近访问的结点排在频度相同的结点前面,以便使频繁访问的结点总是靠近表头。试编写符合上述要求的Locate(L,x)运算的算法,返回找到结点的地址,类型为指针型*/typedef int ElemType;typed...

2020-04-19 23:09:12 1080

原创 链表--试编写算法将带头结点的单链表就地逆置,所谓”就地“是指辅助空间复杂度为O(1)

typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;/*方法一是采用三个工作指针的方式,就地逆置单链表结点*/void Reverse1(LinkList L){ LNode *q,*p,*r; p=L->next;r=p->next...

2020-04-19 20:56:03 3361 10

原创 链表--一个带头结点的单链表,按递增次序输出单链表中各结点的数据元素,并释放结点所占的存储空间。(要求:不允许使用数组作为辅助空间)

#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;void Min_print(LinkList L){ LNode *p,*q,*pre; ...

2020-04-19 19:53:35 5160 7

原创 顺序表--对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素

/*对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素*/#define MAXSIZE 50typedef int ElemType;typedef struct{ ElemType data[MAXSIZE]; int length;}SqList;bool Del_x_1(SqList *L,ElemT...

2020-04-19 02:53:52 4124

原创 给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)

先贴代码#include<stdio.h>#include <stdlib.h>#define N 10int main(void){ int p[10]; char *sum; int i,j,count=0; for(i=0;i<N;i++){ scanf("%d",&p[i]); ...

2020-04-06 00:05:03 11185 2

原创 剔除字符串内指定字符

/*目前为止看到比较优雅的一种方法,从别人博客学习到的,做个学习记录。其实和有序数组去重,有些神似,都是用两个下标来处理。*/void delchar( char *str, char c ){ char *s; s=str; while (*str!='\0') { if(*str!=c){ *s++=*str; ...

2020-04-05 21:03:47 2104

原创 PTA平台习题---写一个函数,输入一行字符,将此字符串中最长的单词输出

/*写一个函数,输入一行字符,将此字符串中最长的单词输出*/void longest(){ int flag=0,count=0,maxLength=0,index=0; //count用来计数当前单词长度,index是最长单词的下标位置。 int i,j; char words[30],ch; printf("请输入一行字符:\n"); gets(wor...

2020-03-19 22:55:45 1465 4

原创 将b字符串粘贴到a字符串后方

void strCat(){ char a[100],b[20]; int i=0,j=0; printf("请输入两个字符串:\n"); gets(a);gets(b); while (a[i]!='\0') i++; while (b[j]!='\0') a[i++]=b[j++]; a[i]='\0'; ...

2020-03-19 22:10:12 598

原创 输出一个杨辉三角(10层)

/*杨辉三角*/void pascalTriangle(){ int a[10][10]={1}; for(int i=0;i<10;i++){ for(int j=0;j<=i;j++){ if(j==0||i==j){ a[i][j]=1; }else{ ...

2020-03-19 22:06:53 837

原创 写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一格空格。如输入1990,应输出”1 9 9 0“

/*写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一格空格。如输入1990,应输出”1 9 9 0“*/void doubleBoring(int p){ if(p/10!=0){ doubleBoring(p/10); printf(" "); } printf("%c",p%10+'0');}int ma...

2020-03-19 21:59:09 3178

空空如也

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

TA关注的人

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