2020-04-03

西北工业大学数据结构poj,仅作参考2020-04-03`#

$$

include<stdio.h>#include<stdlib.h> typedef struct node{ int *a; int length; int size; }slist,*plist; plist slist_init(plist base,int *s,int n) { int i; base->a=(int *)malloc(sizeof(int)*1000); base->size=1000; base->length=0; for(i=0;i<n;i++){ base->a[i]=s[i]; base->length++; }return base; } void slist_insert(plist base,int x){ int i,*p,*q; slist list=*base; for(i=0;ilength;i++){ if(base->a[i]<x)continue;//找到x应该插入的位置 else break; } q=&(base->a[i]); for(p=&(base->a[base->length-1]);p>=q;–p) *(p+1)=*p; *q=x; //插入x的操作 base->length++; } void slist_shuchu(plist p){ int i; for(i=0;i<(p->length);i++){ printf(“d”,p->a[i]); }printf("\n"); } int main() { slist aa; plist p=&aa; int n ,a[1000],x,i; scanf("%d",&n);//第一个输入 for(i=0;i<n;i++) scanf("%d",&a[i]);//第二个输入 scanf("%d",&x); slist_init(p,a,n) ; slist_insert(p,x); slist_shuchu§; } return 0;`