1、新建文件lab1_01.cpp,编写算法函数void sprit( sequence_list *L1,sequence_list *L2,sequence_list *L3),并在主函数中调用测试;以下给出两组测试样例
1 void sprit(sequence_list *L1,sequence_list *L2,sequence_list *L3) 2 { 3 int j,m=0,n=0; 4 for(j=0;j<L1->size;j++) 5 { 6 if((L1->a[j])%2==0)//若L1中的数据为偶数,则将数据赋值给L3,否则赋值给L2 7 { 8 L3->a[m]=L1->a[j]; 9 ++m; 10 L3->size=m;//顺序表的大小加1 11 } 12 else 13 { 14 L2->a[n]=L1->a[j]; 15 ++n; 16 L2->size=n;//同上 17 } 18 19 } 20 }
2、新建文件lab1_02.cpp,编写算法函数void merge(sequence_list *L1,sequence_list *L2,sequence_list *L3),并在主函数中调用测试;
3、新建文件lab1_03.cpp,编写算法函数slnklist delx(linklist head, datatype x),并在主函数中调用测试;
1 linklist delx(linklist head,datatype x) 2 { 3 linklist p=head,pre=NULL;//pre是p的前驱指针 4 while(p&&p->info!=x)//若没有查找到值为x的结点且p不为空,则继续查找 5 { 6 pre=p; 7 p=p->next; 8 } 9 if(p) // p不为空且查找到值为x的结点 10 { //若结点在第一个 11 if(!pre) {head=p->next;p=head;} 12 else 13 { pre->next=p->next; 14 free(p); 15 } 16 } 17 return head; 18 }
时间: 2024-10-16 12:57:24