c语言中MAXINE,数据结构c语言大神帮我看看  voidgetelem(linkl 爱问知识人

大神帮我看看   void getelem(linklist &l, int i, elemtype &e)   //查找元素

这个查找函数哪里出了问题   不能读取到链表了   直接是指向NULL

还是我的写法会  偏向c 吗?   我是用c语言的<

大神帮我看看   void getelem(linklist &l, int i, elemtype &e)   //查找元素

这个查找函数哪里出了问题   不能读取到链表了   直接是指向NULL

还是我的写法会  偏向c 吗?   我是用c语言的

#include

#include

typedef int elemtype;

typedef struct yy

{

int data;      //数据域

struct yy *next;    //指针域

}yy, *linklist;

void Init_L(linklist &l)  //创建一个指向NULL的头指针

{

l = (yy *)malloc(sizeof(yy));

if (!l)printf("内存申请失败");

l->data = 0;

l->next = NULL;

}

void getelem(linklist &l, int i, elemtype &e)   //查找元素

{   //当第i个元素存在时,其值赋值给e

linklist p;

elemtype j = 1;

p = l;

while (p&&j next;

j;

}

if (!p || j>i)

printf("找不到该元素");    //找不到第i个元素

else

e = p->data;   //找到第i个元素赋给e

}

void listinsert_l(linklist &l, int i,elemtype &e)   //插入元素

{  //在带头结点的单链表L中第i个位置插入e的值

linklist p, s;            //struct yy *p, *s;

int j = 0;

p = l;

while (p != NULL&&j next;

j;

}

if (!p || j > i - 1)

printf("超出范围!");

s = (yy *)malloc(sizeof(yy));

s->data = e;//scanf("%d", &s->data);

s->next = p->next;

p->next = s;

}

void listdelete(linklist &l, int i, elemtype &e)    //删除元素

{  //删除第i个元素,并赋值给e返回

linklist p, s;

int j = 0;

p = l;

while (p&&j next;

j ;

}

if (!p&&j>i - 1)

printf("删除位置不合理");

s = p->next;

p->next = s->next;

e = s->data;

free(s);    //释放s

}

int main()

{

linklist l,p;

int i,e,el;

Init_L(l);      //创建一个空链表

for (i = 1; i next;          //p = l;

while (l!=NULL)  //l->next!=NULL

{

printf("]", l->data);

l=l->next;

}

//printf("

删除元素为:%d", e);    //输出删除的那个元素

getelem(l, 3, el);    //查找元素

printf("%d", el);     //输出也查找到的元素

getchar();

}

展开

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript,`sessionStorage` 和 `localStorage` 是两种用于在浏览器会话期间存储数据的本地存储机制。它们的区别在于: - `sessionStorage` 保存的数据只会在当前会话(即同一窗口或标签页)存在,关闭浏览器或标签页后数据会被清除。 - `localStorage` 则持久化存储,即使在关闭浏览器后,数据也会保留,直到手动清除。 下面是设置和读取这两个存储的简单示例: ### 设置数据 1. 使用 `setItem()` 方法存储键值对: ```javascript // sessionStorage 示例 sessionStorage.setItem('username', 'JohnDoe'); // localStorage 示例 localStorage.setItem('cartItems', JSON.stringify([{ item: 'apple', quantity: 3 }])); // 存储JSON格式数据 ``` ### 读取数据 2. 使用 `getItem()` 方法获取特定键的数据: ```javascript // 从 sessionStorage 获取 const sessionStorageUsername = sessionStorage.getItem('username'); console.log(sessionStorageUsername); // 输出:'JohnDoe' // 从 localStorage 获取 const cartItemsStr = localStorage.getItem('cartItems'); if (cartItemsStr) { const cartItems = JSON.parse(cartItemsStr); // 解析成对象 console.log(cartItems); } ``` ### 删除数据 3. 使用 `removeItem()` 方法删除存储的数据: ```javascript // 删除 sessionStorage 的值 sessionStorage.removeItem('username'); // 删除 localStorage 的值 localStorage.removeItem('cartItems'); ``` ### 清空整个存储 4. 若要清空整个存储,可以使用 `clear()` 方法: ```javascript // 清空 sessionStorage sessionStorage.clear(); // 清空 localStorage localStorage.clear(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值