线性表删除第i个元素
发布日期:2021-06-29 14:39:26 浏览次数:2 分类:技术文章

本文共 1058 字,大约阅读时间需要 3 分钟。

// 删除.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//群:970353786#include 
#include
#define Maxsize 100typedef int ElemType;//定义别名 typedef struct Sqlist{
ElemType data[Maxsize]; int len;//当前长度 };//初始化线性表void Initlist(Sqlist& sq){
sq.len = 0;}//求线性表长度int ListLength(Sqlist sq){
return(sq.len);}//删除第i个元素int ListDelete(Sqlist& sq, int i){
int j; if (i<1 || i>sq.len) return 0;//i不合法 for (j = i; j < sq.len; j++) {
sq.data[j - 1] = sq.data[j];//删除元素后,第i个后面的全部元素全部左移 } sq.len--;//表长就减1 return 0;}int main(){
Sqlist sqa; int i, j, n, m, s; int num; printf_s("请输入你要输入多少个数据:"); scanf_s("%d", &num); for (i = 1; i <= num; i++) {
printf_s("请输入链表第 % d个数据:", i); scanf_s("%d", &sqa.data[i]); } sqa.len = num; printf_s("删除第几个元素?\n"); scanf_s("%d", &n); if (n > sqa.len) {
printf_s("已经超出范围,无法删除\n"); } else {
ListDelete(sqa, n); printf_s("删除的数据为:%d\t", sqa.data[n]); printf_s("由于删除一个元素,长度变为:%d\n", ListLength(sqa)); //printf("%d", sqa.len);//也可以直接打印长度不调用函数 }}// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单// 调试程序: F5 或调试 >“开始调试”菜单

转载地址:https://chuanchuan.blog.csdn.net/article/details/116906243 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:指针定义和理解
下一篇:malloc函数使用理解

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月23日 03时00分41秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章