第一范文网 - 专业文章范例文档资料分享平台

《数据结构》daan

来源:用户分享 时间:2025/6/1 14:05:09 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Link s; int j=0;

while (p.head&&j

p.head = p.head->next; ++j; }

if (!p.head||j>i-1) return ERROR;

s= (Link)malloc(sizeof(LNode)); s->data =e;

s->next = p.head->next;//插入新的元素 p.head->next =s; ++L.len; return OK; }

int listDelete_L(LinkList &L,int i) {

LinkList p=L; Link q;

q=(Link)malloc(sizeof(LNode)); int j=0;

while (p.head->next&&jnext) {

p.head = p.head->next; ++j; }

if (!p.head->next||j>i-1) return ERROR; q=p.head->next;

p.head->next=q->next; free(q); --L.len; return OK; }

int locateElem_L(LinkList &L,int i ) {

LinkList p=L; int j=0;

printf(\你要查找的元素是:\

while (p.head&&j

{

p.head = p.head->next; ++j; }

printf(\ printf(\

system(\ /*if (!p.head)

printf(\ else

return ERROR; printf(\

system(\ return OK; }

int menu() { int i;

printf(\菜单\\n\

printf(\创建顺序链表\\n\ printf(\插入\\n\ printf(\删除\\n\ printf(\查找\\n\

printf(\打印所有元素\\n\ printf(\退出\\n\ printf(\

printf(\请输入正确的序号:\ scanf(\ if(i==0) {

exit(0); } else return i; }

顺序存储:

#include #include

void listElemOutput_Sq(SqList *L);

int listInsert_Sq(SqList *L,int i,ElemType e); int listDelete_Sq(SqList *L,int i ); int initList_Sq(SqList *L);

int locateElem_Sq(SqList L,int i );

int menu();

void main() { int mchioce; int a=1; SqList La;

mchioce=menu();

while ( mchioce!=0) {

switch(mchioce) {

case 1:

initList_Sq(&La); break; break; case 2: int i,j;

printf(\请输入插入的位置和元素:\ scanf(\ listInsert_Sq(&La,i,j); break; case 3: int k;

printf(\请输入删除元素的位置:\ scanf(\

listDelete_Sq(&La, k); break; case 4: int a; printf(\请输入所查找元素的位置:\ scanf(\

locateElem_Sq(La,a); break; case 5:

listElemOutput_Sq(&La); break; default:

printf(\输入错误!!\ break; }

system(\ mchioce=menu();

system(\ } }

void listElemInput_Sq(SqList &L) {

int la_len; int i;

printf(\输入线性表LA元素个数:\ scanf(\

printf(\请输入A的元素:\ for(i=1;i<=la_len;i++) {

scanf(\ L.length++; } }

void listElemOutput_Sq(SqList *L) {

int i=1;

printf(\输出:\\n\\t\ for(;i<=L->length;i++) {

printf(\ %d\ }

printf(\

system(\ return; }

int listInsert_Sq(SqList *L,int i,ElemType e) {

/*在顺序表L中第i个位置之前插入新的元素 e */ /* i的合法值为1<= i <= ListLength_Sq(L)+1 */ ElemType *p,*q,*newbase;

if(i<1||i>L->length+1) return ERROR; /* i值不和法*/

if(L->length>=L->listsize){ /*当前存储空间已满,增加分配*/ newbase=(ElemType

*)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType));//重新分配新的内存空间

if(!newbase) exit(OVERFLOW); /*存储空间分配失败*/

搜索更多关于: 《数据结构》daan 的文档
《数据结构》daan.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2iii94azgy38ccg96paz_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top