数据结构入门题1
题目:
线性表存放在向量A[arrsize]的前elenum个分量中,且递增有序。将x插入到线性表的适当位置上,以保持线性表的有序性。
其中arrsize表示数组A的大小。elenum代表元素个数。
输入输出样例:1组
样例输入:
7 //代表arrsize大小
1 2 3 4 5 6 7 //输入A向量中的值
5 //elenum的值
6 //插入元素x的值
样例输出:
1 2 3 4 5 6 6 7
摘要:
顺序表存储,插入函数,选择排序。
源代码:
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 1024 typedef struct seqlist { int data[MAXSIZE]; int last; }SeqList; SeqList *init_SeqList() { SeqList *L; L=(SeqList *)malloc(sizeof(SeqList)); L->last=-1; return L; } void Insert(SeqList *L,int ele,int dat) { int i,j,temp; if(ele>=L->last) printf("error"); else { for(j=L->last;j>ele-1;j--) L->data[j+1]=L->data[j]; L->data[j+1]=dat; L->last++; } for(i=L->last;i>0;i--) { if(L->data[i] < L->data[i-1]) { temp=L->data[i]; L->data[i]=L->data[i-1]; L->data[i-1]=temp; } } } void Display(SeqList *L,int n) { int i; for(i=0;i<n;i++) printf("%d ",L->data[i]); } int main() { SeqList *A; int x,elenum; int i,n,arrsize; A=init_SeqList(); scanf("%d",&arrsize); for(i=0;i<arrsize;i++) { scanf("%d",&A->data[i]); A->last++; } scanf("%d",&elenum); scanf("%d",&x); Insert(A,elenum-1,x); printf("\n"); Display(A,A->last+1); return 0; }
测试:
样例输入:
5 //代表arrsize大小
3 4 5 6 7 //输入A向量中的值
4 //elenum的值
2 //插入元素x的值
样例输出:
2 3 4 5 6 7
样例输入:
10 //代表arrsize大小
2 3 4 6 7 8 9 10 21 22//输入A向量中的值
8 //elenum的值
5 //插入元素x的值
样例输出:
2 3 4 6 7 8 9 10 21 22
总结:
博主有点懒,但争取日更好吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通