学号:201560140140 姓名:袁若飞
}
bool List_delete(seqlist *L,int i) //删除元素的子函数 { }
void main() {
seqlist *L; //表结构变量的定义 L=(seqlist *)malloc(sizeof(seqlist)); //为表分配空间 int i; //定义整型变量 for(i=1;i<=20;i++) //赋值给表中的元素 { }
L->data[i-1]=i;
int j; // 定义一个整型变量 if(L->listlen<=0) //空表不能删除元素 { }
if(i>L->listlen||i<=0) //删除元素不存在 { } else{ }
{ }
L->listlen--; //表长度减1 return true; //返回true
for(j=i;j<=L->listlen-1;j++) //向前批量移动元素 L->data[j-1]=L->data[j];; cout<<\删除位置错!\
return false; //返回false cout<<\下溢出错!\
return false; //返回false { }
cout<<\输入要删除的纪录号:\
cin>>i; //用户输入删除的记录 if(List_delete(L,i)) //用删除元素的子函数 { }
cout<<\删除成功!删除后的顺序表为:\\n\
for(i=1;i<=L->listlen;i++) //向前批量移动元素 { }
cout<
for(i=1;i<=L->listlen;i++) //输出表中元素
第 5 页
学号:201560140140 姓名:袁若飞
}
bool get_element(seqlist *L,int i) //取元素的子函数 { int x;
if(i<1||i>L->listlen) //要取的元素不存在 { cout<<\下溢出错!\空表无元素 return false;} else } void main()
{ seqlist *L; //表结构变量的定义
L=(seqlist *)malloc(sizeof(seqlist)); //为表分配空间 int i,x,a; //定义三个整型变量 for(i=1;i<=20;i++) //赋值给表中的元素 { }
L->listlen=20; //定义表的长度 cout<<\查找元素前的顺序表:\\n\
for(i=1;i<=L->listlen;i++) //输出表中元素 { }
cout<
{ x=L->data[i-1]; //取出相应元素 cout<<\所取的元素\\n\
cout< L->listlen=20; //定义表的长度 cout<<\取元素前的顺序表:\\n\ for(i=1;i<=L->listlen;i++) //输出表中元素 { } cout<<\输入要取元素的序号:\ cin>>i; //用户输入要取元素的记录 if(get_element( L, i)) //用取元素的子函数 { cout<<\取元素成功!取元素后的顺序表为:\\n\ } for(i=1;i<=L->listlen;i++) { } cout< 第 6 页 学号:201560140140 姓名:袁若飞 cout<<\输入要查元素:\ cin>>x; //用户输入查找的记录 if(a!=0) { cout<<\查元素成功!查元素后的顺序表为:\\n\ cout<<\取元素后的顺序表为:\\n\取元素后的顺序 a=List_locate(L,x); cout< for(i=1;i<=L->listlen;i++) // { cout< } } else cout<<\查无此元素成功!:\\n\ } int List_locate(seqlist *L,int x) //{ int i; // for(i=0;i return(0); //} void main() { seqlist *L; // L=(seqlist *)malloc(sizeof(seqlist)); // int i,x,a; // for(i=1;i<=20;i++) // { L->data[i-1]=i; // } L->listlen=20; // cout<<\插入元素前的顺序表:\\n\ for(i=1;i<=L->listlen;i++) // { cout< } cout<<\输入要插的元素:\ cin>>x; // cout<<\输入要插的位置:\ cin>>i; // a=List_insert(L,i,x); 输出表中元素 按值查询元素的子函数 定义一个整型变量 依次比较各个元素 找到元素X的位置返回其序号未找到则返回0值 表结构变量的定义 为表分配空间 定义三个整型变量 赋值给表中的元素 填入插入内容 定义表的长度 输出表中元素 用户输入插入的记录 用户输入插入的位置 第 7 页 学号:201560140140 姓名:袁若飞 } int List_insert(seqlist *L,int i,int x) //插入元素的子函数 { int j; //定义一个整型变量 if(L->listlen==maxlen) { cout<<\溢出,不能插入!\溢出,不能插入 return 0; //返回 if(a==1) { cout<<\插入元素成功!:\\n\ } else if(a==0) cout<<\溢出,不能插入!\溢出,不能插入 cout<<\插入位置错!\ else cout<<\插入元素后的顺序表为:\\n\ for(i=1;i<=L->listlen;i++) //输出表中元素 { cout< } else if(i<1||i>L->listlen+1) { cout<<\插入位置错!\插入范围错 return -1 ;} //返回并结束 else } {for(j=L->listlen-1;j>=i-1;j--) //往后移动元素 L->data[j+1]= L->data[j]; L->data[i-1]=x; //填入插入的元素 L->listlen++; //修改表长度 return 1; //返回 } 题目二:单链表的基本操作 [问题描述] 实现带头结点的单链表的建立、求长度,取元素、修改元素、插入、删除等单链表的基本操作。 [基本要求] 第 8 页