C语言 题目 1688: 数据结构-字符串插入
看下图的代码块理清思路
题目描述
将一个字符串插入到另一个字符串当中。算法描述如下:
图:字符串插入算法
输入格式
输入只有一行,两个字符串(stra,strb)和一个整数 i。字符串仅由英文大小写字母或数字组成。输入的字符串长度不超过127。
输出格式
无
样例输入
strng i 4
样例输出
string
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct HString{char* st;int length;
}*hstring,HSTRING;
void insert(hstring,HSTRING,int);
void show(hstring);
char* moc();//分配内存
int main(){hstring s;HSTRING t;s=(hstring)malloc(sizeof(HSTRING));int i;s->st=moc(); t.st=moc();while(~scanf("%s",s->st)){getchar();scanf("%s",t.st);getchar();scanf("%d",&i);getchar();s->length=strlen(s->st);t.length=strlen(t.st);insert(s,t,i);}
}
void insert(hstring s,HSTRING t,int i){if(i<1||i>s->length+1)return;if(t.length){s->st=(char*)realloc(s->st,(s->length+t.length+1)*sizeof(char));for(int j=s->length-1;j>=i-1;j--){s->st[j+t.length]=s->st[j];}for(int k=0;k<t.length;k++){s->st[i-1+k]=t.st[k];}s->length+=t.length+1;s->st[s->length]='\0';}show(s);
}
void show(hstring s){printf("%s\n",s->st);
}
char* moc(){return (char*)malloc(128*sizeof(char));
}
C语言 题目 1688: 数据结构-字符串插入相关推荐
- c语言插入特定的字符串,C语言实现:将一个字符串插入到另一个字符串的指定位置...
C语言实现:将一个字符串插入到另一个字符串的指定位置 发布时间:2018-08-22 13:23, 浏览次数:1672 示例一: char *insert(char *s1, char *s2, in ...
- C语言 题目 1698: 数据结构-线索二叉树
<大话数据结构>上的,大家可以参考一下 题目描述 在遍历二叉树的过程中,是按照一定的规则将二叉树中的结点排列成一个线性序列,从而得到二叉树中结点的先序序列或中序序列或后序序列.但是,当以 ...
- C语言实现:将一个字符串插入到另一个字符串的指定位置
示例一: char *insert(char *s1, char *s2, int n) {int len1 = 0, len2 = 0, j = 0, len3, k = 0;char s4[30] ...
- C语言 题目 1689: 数据结构-求子串位置的定位函数
题目描述 在算法4-1中已经描述过一种定位子串的算法,但其依赖字符串的其他操作(使用了算法4-3描述的子串提取以及字符串比较). 下面给出书中另一种相对独立的定位子串算法: 图:求子串位置的定位函数 ...
- C语言 题目 1701: 数据结构-自顶向下的赫夫曼编码
感觉还是自底向上简单,搜了搜答案貌似看懂了,自己手打了一遍,改写了某些看不懂的地方,又写了注释,希望对你有帮助(^∀^●)ノシ 题目描述 在本题中,我们将要讨论的是自顶向下的赫夫曼编码算法.从根出发, ...
- C语言 题目 1700: 数据结构-自底向上的赫夫曼编码
查了好久信息,五花八门,这一题需要注意筛选出两个权值最小的结点后,将位序最小的放在左子树上,位序次小的放在右子树上. 题目描述 在通讯领域,经常需要将需要传送的文字转换成由二进制字符组成的字符串.在实 ...
- 数据结构源码笔记(C语言):可变长度字符串的快速排序
//实现可变长度的字符串序列快速排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#define ...
- 数据结构源码笔记(C语言):统计字符串中出现的字符及其次数
//统计一个字符串中出现的字符及其次数 #include<stdio.h> #include<malloc.h> #include<string.h>#define ...
- 数据结构(C语言版)严蔚敏(字符串的模式匹配算法--KMP算法)
数据结构(C语言版)严蔚敏(字符串的模式匹配算法–KMP算法) 1.暴力匹配算法 // 暴力匹配算法 int Index2(SString S,SString T) {// S是主串,T是子串int ...
最新文章
- 报告 | 2017年云商业智能市场分析:云计算比大数据更重要
- Android Studio androidx 包冲突解决方法
- 剑指offer--面试题14--收获
- oracle数据库克隆工具,OracleCopier
- 4 次版本迭代,我们将项目性能提升了 360 倍!
- 声学漫谈之七:扬声器等效电路与参数
- 【学术技巧】让你的 GitHub 秒变高大上!
- 关于Android 中 一个错误的解决办法 “Do not request Window.FEATURE_ACTION_BAR.....
- TP5的目录常量和路径
- 苹果菠萝笔html5游戏在线玩,苹果菠萝笔游戏
- hdu 1598 find the most comfortable road (并查集+枚举)
- 努力将SQL Server像玩游戏一样熟练
- c语言中如何用程序判断double型的浮点数能精确到几位小数,C语言中浮点数double/float相等判断...
- SharePoint自动化部署,利用PowerShell 导入用户至AD——PART II
- 为什么天朝互联网的三巨头是BAT
- Open Inventor学习资源
- 如何修改(显示)文本文档后缀名
- tomcat6升级到tomcat7配置的修改
- excel批量替换不同值(根据多个条件匹配、替换不成功的解决办法)
- 什么叫智能服务器sn,一篇文章告诉你何为服务器端车牌智能识别
热门文章
- js函数判断服务器文件是否为空,Js 判断数组是否为空或是否含有某个值
- Teaming和Bonding实现双网卡绑定一起来看。
- 七夕整活?没有难度!手把手教你画个戒指送给ta!
- CentOS 7 离线安装配置 erlang
- 择天记服务器维护中,24天击碎全服封印《择天记OL》后续精彩揭秘
- 如何安装和设置Schlage Connect Smart Lock
- Vue — 详解mixins混入使用
- windows10音量图标上红叉点入声音设置显示找不到输出设备
- python queue 调试_Python:Queue.Empty异常处理
- Excel如何批量隐藏0值单元格整行