| 发表于:2007-10-24 12:05:454楼 得分:0 |
帮我看一下我编写的代码 帮我改一下 我不太清楚错误 #include "iostream.h" #define maxsize 100 typedef char et; struct list {et alist[maxsize]; int size; } void setnull(struct list *p) {p-> size=0;} int length(struct list *p) {int k=0; for(;p-> alist[p-> size];p-> size++) {k++;} return k+1; } et get(struct list *p, int i) { return p-> alist[i]; } int locate(struct list *p,et x) { int k; for(k=0;p-> size!=x;p++,k++) {} return k; } int insert(struct list *p,int i,et x) {int j; if(i <1 ¦ ¦i> maxsize+1) return false; i--; for(j=(p-> size);j> i;j--) {p-> alist[j]=p-> alist[j-1]; } p-> alist[i]=x; p-> alist++; return true;} et delete(struct list *p,int i) {for( ;i <maxsize;i++) p-> alist[i]=p-> alist[i+1]; } void display(struct list *p) {if(p-> alist) cout < <p-> alist; else breake; for(;p-> alist[p-> size];p-> size++) cout < <"-> " < <p-> alist[p-> size]; } void main() {struct list *p; int i; et mm[maxsize]; for(i=0;i <maxsize;i++) {cint> > mm[i]; if(a[i]) i++; else break;} cout < <"我的顺序表为:" < <display(p) < <endl; cout < <"值为a在表中的位置为:" < <locate(p,a) < <endl; cout < <"位置为4的值为:" < <get(p,4) < <endl; delete(p,2); cout < <"删除第二个结点后顺序表:" < <display(p) < <endl; delete(p,2); cout < <"删除第二个结点后顺序表:" < <display(p) < <endl; delete(p,1); cout < <"删除第一个结点后顺序表: " < <display(p) < <endl; delete(p,1); cout < <"删除第一个结点后顺序表:" < <display(p) < <endl; } | | |
|