实验二线性表综合实验4
来源:互联网 发布:算法c语言实现高清pdf 编辑:程序博客网 时间:2024/05/03 02:18
一.实验目的
巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题。
二..实验内容
1.建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。
要求如下:
2)用静态链表来实现。
三、源代码
#include<iostream>using namespace std;#define MAXSIZE 100typedef int T;typedef struct Node{ T data; int cur; } StaticLinkList[MAXSIZE];bool InitList(StaticLinkList array){ cout << "InitList..." << endl; for (int i = 0; i < MAXSIZE - 2; i++) { array[i].cur = i + 1; } array[MAXSIZE - 2].cur = 0; array[MAXSIZE - 1].cur = 0; return true;}int Malloc_SLL(StaticLinkList array){ int k = array[0].cur; if (k) array[0].cur = array[k].cur; return k;}void Free_SLL(StaticLinkList array, int pos){ array[pos].cur = array[0].cur; array[0].cur = pos; }int ListLength(StaticLinkList array){ int i = array[MAXSIZE - 1].cur; int j = 0; while(i) { i = array[i].cur; ++j; } return j;}bool ListInsert(StaticLinkList array, int pos, T Elem){ cout << "Insert List from pos: " << pos << " Item " << Elem << endl; if (pos < 1 || pos > ListLength(array) + 1) return false; int k = MAXSIZE - 1; int i = Malloc_SLL(array); if (i) { array[i].data = Elem; for (int l = 1; l <= pos - 1; l++) k = array[k].cur; array[i].cur = array[k].cur; array[k].cur = i; return true; } return false;}bool ListDelete(StaticLinkList array, int pos){ cout << "Delete List from pos: " << pos << endl; if (pos < 1 || pos > ListLength(array)) return false; int k = MAXSIZE - 1; for (int l = 1; l <= pos - 1; l++) k = array[k].cur; int j = array[k].cur; array[k].cur = array[pos].cur; Free_SLL(array, j); return true;}bool ListTraverse(StaticLinkList array){ cout << "List Traverse : " << endl; int k = MAXSIZE - 1; while (array[k].cur != 0) { k = array[k].cur; cout << array[k].data << ' '; } cout << endl; return true;}int main(){ StaticLinkList SSL; InitList(SSL); for (int i = 1; i < 5; i++) ListInsert(SSL, i, i); ListTraverse(SSL); ListDelete(SSL, 3); ListTraverse(SSL); cout << "List Length : " << ListLength(SSL) << endl; return 0;}四、实验结果
阅读全文
0 0
- 实验二线性表综合实验4
- 《数据结构》实验二 线性表综合实验
- 实验二线性表综合实验
- 实验二 线性表综合实验(1)
- 实验二 线性表综合实验
- 实验二线性表综合实验3
- 实验二线性表综合实验2
- 实验二线性表综合实验-单链表
- 实验二线性表综合实验-双链表
- 实验二 线性表综合实验之顺序表
- 实验二 线性表综合实验之静态链表
- 实验二 线性表综合实验(循环链表)
- 实验二 线性表综合实验(静态链表)
- 数据结构:实验二线性表综合实验①顺序表
- 实验二 线性表综合实验——顺序表
- 实验二 线性表综合实验之《静态链表》
- 实验二 线性表综合实验之《顺序表》
- 实验二 线性表综合实验之《静态链表》
- Oc 地图锚点
- 类的创建并实例化
- SQL 添加中文记录;SQL 删除记录;删除所有内容(记录);delete和truncate的区别
- TCP的三次握手
- JAVA面向对象练习
- 实验二线性表综合实验4
- Oc 地图覆盖层
- virtualenv在ubuntu上的使用
- Oc iPad开发~dome
- HMM隐马尔科夫模型例题讲解 加深印象
- 图形用户界面
- (机器学习基石)Machine Learning Foundations:Lecture 2
- Oc iPad与iPhone兼容~demo
- java菱形