有一个存放整数的长度为m+n的线性表L,其前m个元素单调递增,后n个元素也单调递增。设计一个算法,使得整个线性表的元素单调递增。要求:使用顺序存储实现。
3条回答 默认 最新
- 技术专家团-小桥流水 2022-03-27 14:49关注
线性表直接排序就可以了。
代码如下:
#include <stdio.h> #define MAXNMB 100 typedef struct _node { int data[MAXNMB]; int len; }Linklist; //排序 void sort(Linklist *L) { int t,i,j; for (i=0;i<L->len-1;i++) { for (j=0;j<L->len-i-1;j++) { if(L->data[j] > L->data[j+1]) { t = L->data[j]; L->data[j] = L->data[j+1]; L->data[j+1] = t; } } } } int main() { Linklist L; int m,n,i; printf("请输入m和n:"); scanf("%d %d",&m,&n); printf("请输入%d个递增的数:",m); for(i=0;i<m;i++) scanf("%d",&L.data[i]); printf("请输入%d个递增的数:",n); for(i=0;i<n;i++) scanf("%d",&L.data[m+i]); L.len = m+n; //排序 sort(&L); //输出 for (i=0;i<L.len;i++) { if(i<L.len-1) printf("%d ",L.data[i]); else printf("%d\n",L.data[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥25 c语言韩信点兵的变式
- ¥15 怎么根据书上的例子完成这个问题呢?
- ¥15 ECharts 增加Zoom,整行包括右边的Text一起滑动
- ¥15 关于网上一个easyx制作的见缝插针小游戏(c++)
- ¥15 开地址法双散列函数处理碰撞
- ¥15 想问一下这个是什么情况 虚拟机Linux打不开了
- ¥15 联通光猫掉注册了怎么重新注册上去
- ¥15 关于unity开发steamvr程序遇到的问题
- ¥60 求tc downloader的下载方式
- ¥15 华为 快捷方式 手电筒 接口