线性表中有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){ //判断字符是否为数字字符 if(c>='0'&&c<='9'){return 1;}else   return 0;
}
void Sort_Letter(PSeqList R){int low=0;int high=R->length-1;int temp; while(low<high){while((low<high)&&fch(R->data[low])){      //找到第一个非字母字符 low++;}while((low<high)&&!(fch(R->data[high]))){  //找到第一个字母字符 high--;}if(low<high){        //交换 temp=R->data[low];R->data[low]=R->data[high];R->data[high]=temp;}}  //while循环结束时,字母字符全在表的前面,(low之前全是字母字符) ,其他字符和数字字符全在表后 high=R->length-1;while(low<high){  //处理后面的数字字符和其他字符 while((low<high)&&fnum (R->data[low])){     //找到第一个非数字字符 low++;}while((low<high)&&!(fnum(R->data[high]))){  //找到第一个数字字符 high--;}if(low<high){    //交换 temp=R->data[low];R->data[low]=R->data[high];R->data[high]=temp;}}
}

线性表中有n个元素,每个元素是一个字符,现存于向量R[n]中,试写一算法,使R中字符按字母字符、数字字符和其他字符的顺序排列。要求利用原来的存储空间,元素移动次数最小。相关推荐

  1. 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。

    题目要求:设顺序表va中的数据元素递增有序.试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性. 代码实现: void Insert(SqList *va,int x) {int i;if( ...

  2. CQUPT数据结构作业2.1:设有一如下定义的SqList类型的顺序表,将其中的数据元素按递增顺序排列.试写一算法,将x插入到顺序表的适当位置,以保持该表的有序性

    加粗样式 2.1设有一如下定义的SqList类型的顺序表,将其中的数据元素按递增顺序排列.试写一算法,将x插入到顺序表的适当位置,以保持该表的有序性; typedef struct{int *elem ...

  3. 已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值x为的结点插入到表L中,使L仍然有序。

    创建链表,main函数中通过while循环找出该插入的位置,插入.应注意L头节点位置的变化,利用一个ptr来记录L的头节点. /*已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值 ...

  4. 【数据结构 C描述】有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。【单链表】

    这是我的作业题,作业写完后再附到博客中,可能代码写得很烂.虽然是C语言写的,但是我在其中加入了C++的写法,例如cout.我懒得写printf的格式控制符,所以用cout来输出内容,这样我感觉简便多了 ...

  5. C语言线性表怎么输入字符串,用c语言创建一个线性表输入元素求直接后继

    #includetypedef struct Node{ int d; struct Node *next; }TNode, *PNode; //创建具有n个结点的链表(结点数据为1-100之间的随机 ...

  6. 设置顺序表L是个递增的有序表,试写一算法将number插入L中,并使L任是一个有序表。

    一.实现算法如下: /*有序顺序表的插入*/ void InsertSqlist(Sqlist *L,Elemtype number) {int i;assert(L->length < ...

  7. 线性表--算法设计题2.23

     设线性表A=(a1,a2--,am),B=(b1,b2--,bn),试写一个按下列规则合并A,B为线性表C的算法,即使得 C=(a1,b1,--am,bm,--bn) 当m<=n时: C=(a ...

  8. 《数据结构C语言版》——线性表详解,你一定能够看得懂学得会的宝典

    哈喽!这里是一只派大鑫,不是派大星.本着基础不牢,地动山摇的学习态度,从基础的C语言语法讲到算法再到更高级的语法及框架的学习.更好地让同样热爱编程(或是应付期末考试 狗头.jpg)的大家能够在学习阶段 ...

  9. 【数据结构算法】一:线性表

    本章介绍线性表中 存储结构不同的 顺序表 和 链表,以及操作受限的 栈 和 队列 . 目录 一.概述 二.顺序表 2.1. 插入元素  2.2. 删除元素  2.3. 特点 三.链表 3.1.线性链表 ...

最新文章

  1. C++primer习题4.9
  2. Boost源码剖析之:容器赋值-assign
  3. 【数学与算法】支持向量机、线性判别 详细数学原理
  4. java 多线程同步问题_Java多线程同步问题:一个小Demo完全搞懂
  5. 长语音识别体验_如何为语音体验写作
  6. java运行时间间隔_Java:安排作业按时间间隔运行
  7. linux命令创建硬链接,Linux终端命令接口(十一)硬链接与软连接
  8. CSS 字体风格 font-style属性
  9. java10个整数反向输出_输入一个整数,实现反转输出,如输入123,输出321。
  10. 波形发生器设计c语言文件,超低频波形发生器的设计论文(C语言编程) .doc
  11. 刘晓攀:连滚带爬看完《你的知识需要管理》
  12. 【情报分享1234】来自海莲花组织的道歉,然后再给你扔了个恶意文档
  13. BLDC无刷直流电机驱动程序
  14. 温莎大学的计算机专业,温莎大学的计算机专业
  15. Spring @Value读取系统环境变量
  16. 数字化医院PACS影像系统 三维影像后处理技术应用
  17. 【数据库】Oracle基础命令
  18. 人社部已发布3个批次38个新职业!热门“风向标”来了,快跟上
  19. SQL语句 日期 和 时间戳 相互转换
  20. leetcode765-情侣牵手

热门文章

  1. 【木头Cocos2d-x 029】Lua篇(第04章):来点高难度的,获取Lua表结构数据
  2. Android学习——xUtils框架
  3. 高中数学高考热点_三角函数解三角形经典题型(高考必备)
  4. 新浪微博和博客有什么区别?
  5. processon如何画重叠部分
  6. HTML课程表制作(利用html、css、table表格知识)
  7. 2021湖南高考成绩分段查询,湖南2021年高考成绩最新公布时间
  8. 一个优秀项目管理师和系统分析师的75条经验(转载)
  9. 约数个数、约数之和、约数
  10. 循环 和 try<-except 用法