int DuinkListDelet(DuLinkList &L,int i) //删除元素 { int e,j=0;
DuLinkList *p=head->next;
while((p->next!=ahead)&&(j p=p->next; j++; } if((i>0)&&(j==i)) } int scan() { e=p->data; p->prior->next=p->next; p->next->prior=p->prior; free(p); Display_Dul(L); return OK; int a; do{ printf(\输入元素 \\n\ printf(\查找 \\n\ printf(\插入\\n\ printf(\删除\\n\ printf(\显示数据\\n\ printf(\退出程序\\n\ printf(\输入你想要的操作:\ scanf(\ }while(a<0&&a>6); return (a); } int main() { DuLinkList L; for(;;) //无限循环 switch(scan()) { int e,i; case 1:DuLinkListCreate(L); break; case 2:printf(\请输入你想要查找的元素:\ scanf(\ DuLinklistLocate(L,e); break; case 3:printf(\请输入要插入的数的位置:\ scanf(\ if(i<1||i>L.L) { } printf(\请输入你要插入的元素:\ scanf(\ printf(\输入不合法\ break; DuLinkListInsert(L,i,e); break; case 4:printf(\请输入你要删除的位置:\ scanf(\ } return 0; if(i<1||i>L.L) { } printf(\输入不合法\\n\ break; DuLinkListDelet(L,i); break; case 5:DuLinkListDisplay(L); break; } 2、运行结果 ①创建双向链表 ②查找元素 ③插入元素 ④删除元素 七、思考讨论题或体会或对改进实验的建议 在编程序的时候主要是创建双向链表的时候遇到了点困难,因为课本上没有,后来就查询了一下其他资料,然后又问了组长解决了这个问题。我希望自己在做实验的过程中,通过查询资料,和同学交流能够提高我的写算法程序的能力。 八、参考资料