- datatype seek_index(seqlist*list,int index){//按位置查找
- if(list->len<=index||list->len==0||index>MAXSIZE){
- return -1;
- }
- printf("%d\n",list->date[index]);
- return 0;
-
- }
-
- int insert_index(seqlist*list,int index,datatype dat){//按位置插入
- if(list->len==MAXSIZE||index<0||index>MAXSIZE){
- return -1;
- }
- for(int i=list->len-1;i>=index;i--){
- list->date[i+1]=list->date[i];
- }
- list->date[index]=dat;
- list->len++;
- return 0;
- }
- int dele_index(seqlist*list,int index){//按位置删除
- if(index>list->len-1||index<0||index>MAXSIZE||list->len==0){
- return -1;
- }
- for(int i=index+1;i<=list->len-1;i++){
- list->date[i-1]=list->date[i];
- }
- list->len--;
- return 0;
- }
- void re_duplicate(seqlist *list){//去重
- int i=0,k=0;
- for(i=0;i
len-1;i++){ - for(k=i+1;k
len;k++){ - if(list->date[k]==list->date[i]){
- dele_index(list,k);
- k--;
- }
- }
- }
- }
-
- int insert_head(linklist p,datatype data){//头插
- if(p==NULL)return -1;
- linklist q=create();
- if(q==NULL)return -1;
- q->next=p->next;
- p->next=q;
- q->data=data;
- p->len++;
- return 0;
- }
- int output(linklist p){//输出
- puts("");
- if(p==NULL||p->len==0)return -1;
- linklist q=p;
- for(int i=0;i
len;i++){ - q=q->next;
- printf("%d\t",q->data);
- }
- putchar(10);
- return 0;
- }
-
- int insert_rear(linklist p,datatype key){//尾插
- if(p==NULL)return -1;
- linklist q=p;
- for(int i=0;i
len;i++){ - q=q->next;
- }//指向当前最后一个节点
- linklist s=create();
- if(s==NULL)return -1;
- q->next=s;
- p->len++;
- s->data=key;
- return 0;
- }
- int dele_head(linklist p){//头删
- if(p==0||p->len==0){
- return -1;
- }
- linklist q=p->next;
- p->next=q->next;
- q=mfree(q);
- p->len--;
- return 0;
- }
- int dele_rear(linklist p){//尾删
- if(p==NULL||p->len==0)return -1;
- linklist q=p;
- for(int i=0;i
len-1;i++) - q=q->next;
- q->next=mfree(q->next);
- p->len--;
- return 0;
- }
- int dele_index(linklist p,int index){//按位置删
- if(p==NULL||index>p->len||index<1)return -1;
- linklist q=p;
- for(int i=0;i
-1;i++){ - q=q->next;
- }
- linklist k=q->next;
- q->next=k->next;
- k=mfree(k);
- p->len--;
- return 0;
- }
- int insert_index(linklist p,int index,datatype key){//按位置插
- if(p==NULL||index>p->len+1||index<1){
- return -1;
- }
- linklist q=p;
- for(int i=0;i
len-1;i++){ - q=q->next;
- }
- linklist k=create();
- if(k==NULL)return -1;
- k->data=key;
- k->next=q->next;
- q->next=k;
- p->len++;
- return 0;
- }