线性表(数据结构——C 语言描述)课后习题解答 2
3 设线性表存放在向量 A[arrsize]的前 elenum 个分量中,且递增有序
试写一算法,将 x插入到线性表的合适位置上,以保持线性表的有序性
并且分析算法的时间复杂度
#include #include #define arrsize 100 #define elenum 10 typedef int datetype; typedef struct { datetype elem[arrsize]; int len; }List; List *sqlist=(List*)malloc(sizeof(List)); void Creat(); void Insert(datetype x); void Print(); void main() { datetype elemx; Creat(); printf("原初始化递增表:\n"); Print(); printf("请输入要插入的元素:"); scanf("%d",&elemx); Insert(elemx); printf("新有序递增表:\n"); Print(); } void Creat() //初始化线性递增表 { int i=2,j; sqlist->len=-1; for(j=0;jelem[j]=i; i+=2; } sqlist->len=elenum-1; } void Insert(datetype x) //线性表的插入 { int i,j; if(sqlist->len==-1) printf("List NULL
\n"); else if(sqlist->len>=arrsize) printf("List full
\n"); else { i=0; while(sqlist->elem[i]len;j>=i-1;j--)