顺序表应用1:多余元素删除之移位算法
2016-08-09 22:12
309 查看
#include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef struct { int *elem; int length; int listsize; } sqlist; int listbegin(sqlist *l )//顺åº�表å��å§�å�� { l->elem=(int *)malloc(1005*sizeof(int)); if(!l->elem)exit(-1); l->listsize=100; l->length=0; return 0; } void creatlist(sqlist * l,int n)//å��表 { int i; for(i=0; i<n; i++) { scanf("%d",&l->elem[i]); } l->length=n; } int del(sqlist *l,int k)//å� é�¤ { int *p,*q; if(k<1||k>l->length) return 0; q=l->elem+l->length; for(p=&(l->elem[k]); p<q; p++) { *p=*(p+1); } l->length--; return 1; } void loclist(sqlist *l) { int *p,*q; for(p=l->elem; p<l->elem+l->length; p++) { for(q=p+1; q<l->elem+l->length; q++) { if(*p==*q) { del(l,(q-l->elem)); q--; } } } } void listprint(sqlist *l) { int i; for(i=0; i<l->length; i++) { if(i==0) printf("%d",l->elem[i]); else printf(" %d",l->elem[i]); } printf("\n"); } int main() { sqlist l; int n,m; scanf("%d",&m); while(m--) { scanf("%d",&n); listbegin(&l); creatlist(&l,n); loclist(&l); listprint(&l); } return 0; }
相关文章推荐
- 顺序表应用1:多余元素删除之移位算法
- 3324 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 数据结构顺序表应用1:多余元素删除之移位算法
- SDUTACM 顺序表应用1:多余元素删除之移位算法
- sdut acm 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- SDUT 3324 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 3324顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用2:多余元素删除之建表算法
- 顺序表应用2:多余元素删除之建表算法
- 顺序表应用1:多余元素删除之移位算法
- 暑假集训二顺序表-顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法