设顺序表va中的数据元素递增有序。先实现将x插入
到顺序表的适当位置上,保存该表的有序性。

/*
设顺序表va中的数据元素递增有序。先实现将x插入
到顺序表的适当位置上,保存该表的有序性。
*/
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#include <stdio.h>typedef struct{int *elem;//存储空间的基址 int length;//当前长度 int listsize;//当前分配的存储容量
}SqList;//顺序表类型 //打印线性表
void print_sq(SqList a);//合理位置插入元素x
void insert(SqList &a,int x)
{//遍历for(int i = 0;i < a.length;i ++){//printf("1");if(*(a.elem + i) > x || i == a.length - 1){if(i == a.length - 1 && *(a.elem + i) < x)//处理不需要 移位的情况 {*(a.elem + a.length) = x;//直接插入到末尾的下一个空间 }else//递增 第一个 大于x的元素,说明这里就是插入点{// printf("2");//该位置的元素全部向后移动一个位置 for(int j = a.length;j > i;j --){*(a.elem + j) = *(a.elem + j - 1);}//  printf("3");//移位完毕 插入 *(a.elem + i) = x;//  printf("4");}a.length = a.length + 1;//插入一个元素 长度+1 break; //插入x完毕 退出 }//继续找  } return;
}int main()
{SqList a;//初始化 a.length = 5;a.listsize = LIST_INIT_SIZE;for(int i = 0;i < a.length;i ++){*(a.elem + i) = i;//赋值 }//打印 print_sq(a);//插入int x = 0;while(1){printf("插入 以0 为结束符\n");scanf("%d",&x);if(x == 0){break;}insert(a,x);//再次打印print_sq(a);}return 0;
}//打印线性表
void print_sq(SqList a)
{for(int i = 0;i < a.length;i ++){printf("%d ",*(a.elem + i));}printf("\n");return;
}

设顺序表va中的数据元素递增有序。先实现将x插入到顺序表的适当位置上,保存该表的有序性。相关推荐

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

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

  2. (线性表)设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。

    (线性表)设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序. [算法的基本思想] 建立顺序表,在表中从后往前查找要插入的元素的位置,直到找到第一个比X小的数,并 ...

  3. c语言两个线性表la lb,有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合...

    <有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合>由会员分享,可在线阅读,更多相关<有两个集合用两个线性表LA和LB表示即线性表中的数据元 ...

  4. 已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列。例如,设 LA=(3,5,8,11) LB=(2,6,8,9,1

    已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列.例如,设 LA=(3,5,8,11) LB=(2,6,8,9,1 ...

  5. C++ 单链表基本操作分析与实现 链表   链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结

    C++ 单链表基本操作分析与实现 链表 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以 ...

  6. 算法2.2 已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列。

    数据结构(C语言版)严蔚敏 吴伟民 算法2.2 已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列.例如,设 LA= ...

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

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

  8. java 中的数据元素的定义_Java数据结构和算法的基础概念

    一.基本的概念 1.数据            是客观描述事物的符号,是计算机中操作的对象,是能被计算机识别.并输入给计算机处理的集合 2.数据元素        是组成数据的,有一定意义的基本单位. ...

  9. php多表数据排除,thinkphp中多表查询中防止数据重复的sql语句(必看)

    thinkphp中多表查询中防止数据重复的sql语句(必看) 这里有新鲜出炉的精品教程,程序狗速度看过来! ThinkPHP 开源 PHP 框架 ThinkPHP 是一个开源的 PHP 框架,是为了简 ...

最新文章

  1. cmake重新编译matlab,ubuntu系统下cmake 编译matlab中mex文件
  2. 二分法细节学习-mid
  3. 对CORS OPTIONS预检请求的一些思考
  4. DevOps面试问题
  5. Hibernate笔记2
  6. yarn-cli 缓存(转)
  7. 【英语学习】【Level 07】U01 Making friends L1 New kid on the block
  8. linux系列之-—01 shell编程笔记
  9. 《Java 8 in Action》Chapter 12:新的日期和时间API
  10. python异步爬虫_Python实现基于协程的异步爬虫
  11. 带你吃透分布式的精髓!
  12. Python数据分析师使用低代码Streamlit实现Web数据可视化方法——入门篇
  13. 线段与线段交点的求解
  14. [索引]引用Balancing bike sharing systems with constraint programming的文章
  15. python编写一个名片_python基础-实现名片功能
  16. linux储存的基本管理(硬盘管理)
  17. 合并报表编制采用的理论_母公司在实际编制合并财务报表时,可以任意选择运用一种合并财务报表的合并理论。( )_搜题易...
  18. 基于HTML5 Canvase的在线画图及图片处理工具
  19. 最低工资哪家强?2020全国各地最低工资排名出炉!
  20. 无人机核心技术之运动规划

热门文章

  1. Drools如何使用规则流bpmn2
  2. 鱼是最后一个看到水的
  3. python数据可视化之matplotlib精进pdf_Python数据可视化之matplotlib精进
  4. 社区发现的3个评估指标:标准化互信息NMI,ARI指标,以及模块度(modularity)...
  5. 如何让人更高效的完成事情
  6. 月下夜想曲200.6(攻略4)
  7. org.apache.ibatis.session.defaults.DefaultSqlSession@4f9e6460] was not registered for synchronizatio
  8. 经历两个月茫然期后粪发图强,四面美团定级3-1,拿到35*16offer
  9. 关于SOM(self-organized map)自组织特征映射神经网络的理解
  10. python中uppercase是什么意思_python判断大小写并转换_python中string模块相关方法(大小写转换,字符串条件判断)....