顺序链表

    #include <iostream>
    #define MAXSIZE 100
    #define ERROR 0
    #define OK 1
    using namespace std;
    
    typedef struct {
    	int* elem;
    	int lenght;
    }SqlList;
    
    int InitList(SqlList& L) {
    	L.elem = new int[MAXSIZE];
    	if (!L.elem) return ERROR;
    	L.lenght = 0;
    	cout << "初始化成功" << endl;
    	return 1;
    }
    
    
    int GetElem(SqlList& L, int i, int& e) {
    	if (i<1 || i>L.lenght) return ERROR;
    	e = L.elem[i - 1];
    	cout << "第" << i << "个位置的元素是" << e << endl;
    	return OK;
    }
    
    int LocateElem(SqlList& L, int e) {
    	for (int i = 0; i < L.lenght; i++) {
    		if (L.elem[i] == e) {
    			cout << e << "位于第" << i << "个位置" << endl;
    			return OK;
    		}
    	}
    }
    
    int ListInsert(SqlList& L, int i, int e) {
    	if ((i < 1) || (i > L.lenght + 1)) return ERROR;
    	if (L.lenght == MAXSIZE) return ERROR;
    	for (int j = L.lenght - 1; j >= i - 1; j--) {
    		L.elem[j + 1] = L.elem[j];
    	}
    	L.elem[i - 1] = e;
    	++L.lenght;
    	cout << "插入元素成功" << endl;
    	return OK;
    }
    
    int ListDelete(SqlList& L, int i) {
    	if ((i < 1) || (i > L.lenght + 1)) return ERROR;
    	for (int j = i; j <= L.lenght - 1; j++) {
    		L.elem[j - 1] = L.elem[j];
    	}
    	--L.lenght;
    	cout << "删除成功" << endl;
    	return OK;
    }
    
    int main()
    {
    	int temp;
    	SqlList sl;
    	InitList(sl);
    	ListInsert(sl, 1, 10);
    	ListInsert(sl, 2, 20);
    	ListInsert(sl, 3, 30);
    	ListDelete(sl, 2);
    	GetElem(sl, 1, temp);
    	LocateElem(sl, 1);
    }

作者:qianyuzz

出处:https://www.cnblogs.com/qianyuzz/p/17059925.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   qianyuzz  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示