数据结构的求元素值操作
来源:互联网 发布:unity 角色模型优化 编辑:程序博客网 时间:2024/06/05 00:08
1.顺序表的求元素值:
bool GetElem(SqList *L, int i, ElemType &e)//求线性表中某个数据元素值{if (i < 1 || i > L -> length)return false;//参数错误时返回falsee = L -> data[i - 1];//取元素值return true;//成功找到元素时返回true}
2.单链表的求元素值:
bool GetElem(LinkList *L, int i, ElemType &e)//求线性表中某个数据元素值{int j = 0;LinkList *p = L;//p指向头节点,j置为0(即头节点的序号为0)while (j < i && p != NULL)//找第i个节点{j++;p = p -> next;}if (p == NULL)//不存在第i个数据节点,返回0return false;else//存在第i个数据节点,返回1{e = p -> data;return true;}}
3.双链表的求元素值:
bool GetElem(DLinkList *L, int i, ElemType &e)//求线性表中某个数据元素值{int j = 0;DLinkList *p = L;while (j < i && p != NULL){j++;p = p -> next;}if (p == NULL)return false;else{e = p -> data;return true;}}
4.循环单链表的求元素值:
bool GetElem(LinkList *L,int i, ElemType &e)//找指定位置的元素{int j = 0;LinkList *p;if (L -> next != L)//单链表不为空表时{if (i == 1){e = L -> next -> data;return true;}else//i不为1时{p = L -> next;while (j < i - 1 && p != L){j++;p = p -> next;}if (p == L)return false;else{e = p -> data;return true;}}}else//空表返回falsereturn false;}
5.循环双链表的求元素值:
bool GetElem(DLinkList *L, int i, ElemType &e)//求线性表中某个数据元素值{int j = 0;DLinkList *p;if (L -> next != L)//双链表不为空表时{if (i == 1){e = L -> next -> data;return true;}else//i不为1时{p = L-> next;while (j < i - 1 && p != L){j++;p = p -> next;}if (p == L)return false;else{e = p -> data;return true;}}}else//双链表为空表时return false;}
6.顺序栈的取栈顶元素:
bool GetTop(SqStack *s, ElemType &e)//取栈顶元素{if (s -> top == -1)//栈为空的情况,即栈下溢出return false;e = s -> data[s -> top];//取栈顶指针元素的元素return true;}
7.链栈的取栈顶元素:
bool GetTop(LiStack *s, ElemType &e) //取栈顶元素{if (s -> next == NULL)//栈空的情况return false;e = s -> next -> data;return true;}
8.顺序队列的求出队元素值:
bool deQueue(SqQueue *&q, ElemType &e)//出队{if (q -> front == q -> rear)//队空下溢出return false;q -> front = (q -> front + 1) % MaxSize;e = q -> data[q -> front];return true;}
9.顺序串的求值:
SqString SubStr(SqString s,int i,int j){SqString str;int k;str.length = 0;if (i <= 0 || i > s.length || j < 0 || i + j - 1 > s.length)return str;//参数不正确时返回空串for (k = i - 1; k < i + j - 1; k++) //将s.data[i..i+j]复制到strstr.data[k - i + 1] = s.data[k];str.length = j;return str;}
- 数据结构的求元素值操作
- 数据结构的求长操作
- 数据结构中循环队列的清空、销毁、求队长、遍历、取首元素等操作及运用
- 数据结构Stack实例(三):求元素的下一个更大的值
- 数据结构(线性表的操作:建立表,插入元素,删除元素,取元素,置空)
- 求数组元素超过一半的元素值
- 用数组方法求元素的值
- unique--求集合的单值元素
- 数据结构面试题总结2——数组:求出现次数超过一半的元素
- 数据结构面试题总结3——数组:求数组中两个元素的最小距离
- [数据结构]--PTA求前缀表达式的值
- 求数组的主要元素
- 求数组元素的乘积
- 求栈的最小元素
- 求数组的主元素
- 求数组元素的和。
- 求元素组合的算法
- 求数组元素的和
- UVA 11248 Frequency Hopping
- 最大流入门
- GUI Text问题集合
- JIRA 5.0.4安装异常(Ubuntu Server)
- 2013/08/06 SQLLDR 空值取默认值和一列完全默认值
- 数据结构的求元素值操作
- 九度笔记之 1369:字符串的排列
- 谈一下Silverlight报表的打印
- SVN中相关图标的含义
- c++程序员笔试面试题
- win7下IIS的ftp服务器配置
- 从request获取各种路径总结
- Chromium源码分析:ContentShell启动流程
- The method setClass(Context, Class<?>) in the type Intent is not applicable for the arguments (GameV