- 博客(26)
- 收藏
- 关注
原创 strlen()和sizeof()究竟输出什么
(b)设定字符数组元素大小且数组大小大于数组字符的数量:strlen()输出字符数量(不包括\0的个数) (如数组d)(a)未设定字符数组大小或数组长度不够(不够放下\0):strlen()随便输出一个数字 (如数组a b c)(a)若字符数组元素是字符串组成 则sizeof输出字符串长度+1(字符串自动加上\0) (如数组i)(b)若字符数组元素是字符组成,则sizeof输出字符数量 不会自动加上\0的数量1 (如数组g)(1)若数组有设定大小:则sizeof输出设定大小 (如数组h)
2023-09-01 17:33:52 248
原创 线性表中有n个元素,每个元素是一个字符,现存于向量R[n]中,试写一算法,使R中字符按字母字符、数字字符和其他字符的顺序排列。要求利用原来的存储空间,元素移动次数最小。
线性表中有n个元素,每个元素是一个字符,现存于向量R[n]中,试写一算法,使R中字符按字母字符、数字字符和其他字符的顺序排列。要求利用原来的存储空间,元素移动次数最小。int fch(char c){ //判断字符是否为字母字符 if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){ return 1; } else return 0;}int fnum(char c){ //判断字符是否为数字字符
2020-12-02 11:08:26 1635 2
原创 删除单链表中值相同的结点
1.带头结点递增有序单链表L,删除表中相同元素void Delete(LinkList &L){ LinkList p=L->next; LinkList q; while(q){ q=p->next; if(p->data!=q->data){ p=p->next; q=q->next; } else{ p->next=q->next; free(q); } }} 2
2020-12-01 14:46:17 5799 5
原创 在二叉排序树bt中删除结点值为k的结点
int DeleteBinSTree(BinSTree &bt,KeyType k){ //二叉排序树bt中删除结点值为k的结点 BinSTree p,q,f,s; p=bt; while(p!=NULL&&p->data!=k){ //找到值为k的结点p f=p; //指向待删结点p的双亲结点 if(p->data<k) p=p->lchild; //结点值为k的结点在当前结点p的左子树上 .
2020-11-29 12:05:38 1164
原创 数据结构——树例题1
1.设计算法返回二叉树T中先序遍历的最后一个结点,非递归方式BTree prelast(BTree T){ BTree p=T; while(p->child!=NULL&&p->rchild!=NULL){ //当前结点有孩子就循环(先序遍历的最后一个结点一定为叶子结点) ,非叶子结点肯定不是最后一个结点 if(p->rchild){ //如果有右孩子,右孩子肯定在先序序列中当前节点之后(如果再有左孩子,右孩子也在整个左子树之后)
2020-11-25 16:31:06 279
原创 数据结构——链表例题3
11.已知A、B是两个递增有序的单链表,设计算法利用原表结点空间将其合并为一个递增有序的链表LinkList T_11(LinkList *A,LinkList *B){ //选取AB中较小的结点,尾插法插入C中 LinkList pa=A->next; LinkList pb=B->next; LinkList C=(LinkList *)malloc(sizeof(LinkList)); //创建带头结点的链表C C->next=NULL; LinkList
2020-11-23 15:00:06 448
原创 数据结构——链表例题2
6.递增有序链表A、B分别表示一个集合,设计算法实现A=A∩B,即使用原表空间LinkList insert_Link_2(LinkList *A,LinkList *B){ //以带头结点的链表为例 LinkList pa=A->next; LinkList pre=A; //pre指向pa的前驱结点 LinkList q; LinkList pb=B->next; while(pa!=NULL&&pb!=NULL){ i
2020-11-23 10:57:46 1064 1
原创 数据结构——链表例题1
1.在递增有序链表L中插入值为x的元素,使L依旧保持递增void Insert(LinkList *L,DataType x){ LinkList p=L,q=p->next,s; while(x>q->data&&q!=NULL){ //q可能为空,插入到表尾 p=p->next; q=p->next; } s=(LinkList*)malloc(sizeof(LinkList)); s->data=x; s->n
2020-11-22 14:44:00 1775
原创 数据结构例题8
1.已知n个结点的完全二叉树用顺序存贮,试设计非递归算法,对该完全二叉树进行中序遍历。void InOrder(QBTree BT[],int n){ int i=1; PSeqStack s; s=Init_SeqStack(); while(i<=n||!Empty_SeqStack(s)){ if(i<=n){ Push_SeqStack(s,i); i=i*2; //访问左子树 } else{ Pop_SeqSta
2020-11-21 14:50:05 632
原创 数据结构例题7
1、设以带头结点的双向循环链表表示的线性表L=(a1,a2,…,an),试写一算法,将L改造为L=(a1,a3,…,an…,a4,a2)。void Exchange_DLinkList(DLinkList &L){ DLinkList p,q,tail; int count=0; //count记录数组下标;当数组下标为偶数时,当前结点移动到an后 p=L->next; tail=L->prior; //tail指向表尾结点an wh
2020-11-20 15:37:34 1083
原创 MATLAB图形用户界面设计1
a1.m:%复选框set(gcf,'Color','k','MenuBar','none');%k黑色h=uicontrol(gcf,'Style','edit','String','今晚又是爱学习的一晚','Position',[140,370,300,40],'fontSize',20);h1=uicontrol(gcf,'Style','check','String','粗体...
2020-11-19 16:49:49 364
原创 数据结构例题6
1、一个带头结点的单链表A,其数据元素是字符字母字符、数字字符、其他字符,设计算法将A表分成三个带头结点的循环单链表A、B和C,分别含有字母、数字和其它符号的同一类字符,利用原表空间。void split(LinkList &A){ // A是带头结点的的单链表,其数据元素是字符字母、字符、数字字符、其他字符。 LinkList p=A->next,pre,rearB,rearC; // p为工作指针,指向A表的当前元素,rearB,rearC分别为
2020-11-19 16:49:09 580
原创 数据结构例题5
1、已知非空线性链表由list指出,链结点的构造为(data,link).请写一算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请新的链结点。//以带头结点的链表为例void Find_min(LinkList *L){ LinkList p,min,first; DataType x; p=L->link; min=L->link; //min指向当前数据域最小的结点 first=L->link; //first指向第一
2020-11-19 16:46:11 3202
原创 数据结构例题4
1、设L为带头结点的单链表,单链表L元素递增有序,编写算法,删除表L中值相同的多余元素。bool Delete_sort(LinkList *L){ LinkList p,q,temp; p=L->next; //注意单链表带头结点 if(p=NULL) return 0; //空表 q=p->next; //q指向p的后继 while(q){ if(p->data!=q->data){ //p->data,q->dat
2020-11-19 16:43:51 661
原创 数据结构例题3
1.设str1和str2分别是指向两个单词所在单链表的头结点,请设计一个时间上尽可能高效的算法,找出str1和str2所指向两个链表共同后缀的起始位置(如上图中指针p所指向的结点位置)。int length(LinkList H){ //求链表长度 LinkList p=H; int count=0; while(p->next!=NULL){ //!!!!!!!!!带头结点,头结点不算在链表长度里,所以count少加 1 p=p->next; count++;} r
2020-11-19 16:41:19 228
原创 数据结构例题2
1.设计求结点在二叉排序树中层次的算法。int BstSearch(BSTree bst,BSTNode k){ //求结点k在二叉排序树中的层次 BSTree p=bst; int n=0; //记录结点的层数 while(p!=NULL&&p->data!=k->data) { //p不为空,且未找到k if(p->data>k->data) p=p->lchild; else p=p->rchild; n
2020-11-19 16:39:32 1427 1
原创 数据结构例题1
1.定义正读和反读都相同的字符序列为“回文”,例如,“abcdcba”是回文,“ashgash”不是回文。试写一个算法判断读入的一个以‘@’为结束符的字符序列是否为回文。int IsReverse(){ PseqStack S; PseqQueue Q; char e,x,y; S=Init_SeqStack(); //初始化栈 S Q=Init_SeqQueue(); //初始化队列 Q While((e=getchar())!='@'){ //遇到@停止输入 Pus.
2020-11-19 16:37:03 1006
原创 python作业4(2018.12.2)
题目:24.编程:从键盘输入一串英文字符,将其逆序输出。25.编程:用循环语句分别显示以下五种图案。 * * * * * * * * * * AAAAAAAAA 1 1 * * * * * * * * * BBBBBBB 12 11* * * * * * * * ...
2018-12-03 00:42:24 365
原创 python作业3(2018.12.2)
题目:15.x=360,780,36,150,56,12 y=128,1620,72,500,36,28试计算所有记录中字段变量x和y的最小公倍数。16.编程:根据键盘输入变量x的值,计算y的值。 |x| (x<0)y= √x (x>=0)17.编程:根据键盘输入变...
2018-12-02 22:41:59 367
原创 python作业2(2018.12.2)
题目:9.打星星,编程:显示出图案1: * * * * * * * * * * * * * * * *10.打星星,编程:显示出图案2: * * * * * * * * * * * * * * * * 11.编程:显示出图案3: 1 2 2 2...
2018-12-02 21:12:15 202
原创 python作业1(2018.12.1)
题目:计算1+2+3……+100: 从键盘输入两个正整数x和y,计算x和y的最大公约数: 计算10! 计算并输出Fibonacci数列(1,1,2,3,5,8……)前20项: 计算三位数中所有的水仙花数: 从键盘输入一个大于1的整数N,判断N是否为素数: 从键盘输入一串字符,删除其中空格输出: 从键盘输入一串字符,统计其中字母个数: 答案:1.2....
2018-12-01 23:22:39 523
原创 Java数组去重排序(从大到小)
Java小白的独立写出的第一个Java程序,虽然是很简单的程序,氮素我也花了很长的时间,写出来还是很开心的 package arraySort;import java.util.Scanner;/* * 数组去重排序 */public class arrayaa { public static void main(String[] args) { int demo...
2018-07-31 11:22:04 7651 1
原创 Java程序的简单注释
Java小白,找了一段代码,有很多不懂得地方,一个个百度出来的写一段代码,要求输入任意5个整数,输出它们的和。1. import java.util.*;2. public class Demo {3. public static void main(String[] args){ //必须存在的,独立运行所必须的;4. int intArray[] = new int[5];//...
2018-07-27 16:06:00 635 1
原创 C语言数组去重排序(从大到小)
好久没写程序了,改了好久也只能写成这样,勉强能用 #include<stdio.h>void bubble_sort(int *arr,int len) { int i, j,temp; for(i=0;i<len;i++){ for(j=i+1;j<len;j++){ if(arr[i...
2018-07-23 16:46:08 12240 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人