线性表练习
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10
typedef struct
{
int data[MaxSize];
int length;
}Sqlist;
void ElemRemove01(Sqlist *&L,int x){
int i,k=0;
for (i = 0; i < L->length; i++)
{
if (L->data[i]!=x)
{
L->data[k]=L->data[i];
k++;
}
}
L->length=k;
}
void ElemRemove02(Sqlist *&L,int x){
int i,k=0;
for (i = 0; i < L->length; i++)
{
if (L->data[i]==x) k++;
else L->data[i-k]=L->data[i];
}
L->length=i-k;
}
int main(){
int i,a[6]={1,2,3,1,2,4};
Sqlist *L;
void InitList(Sqlist *&L);
InitList(L);
bool ListInsert(Sqlist *&L,int i,int e);
for ( i = 0; i < 6; i++)
{
ListInsert(L,i+1,a[i]);
}
void ListTraverse(Sqlist *L);
ListTraverse(L);
printf("\n");
ElemRemove01(L,1);
ListTraverse(L);
return 0;
}
void InitList(Sqlist *&L){
L=(Sqlist *)malloc(sizeof(Sqlist));
L->length=0;
}
bool ListInsert(Sqlist *&L,int i,int e){
if (i<1||i>L->length+1) return false;
if (i>MaxSize) return false;
for (int j = L->length; j>=i; j--)
{
L->data[j]=L->data[j-1];
}
L->data[i-1]=e;
L->length++;
return true;
}
void ListTraverse(Sqlist *L){
for (int i = 0; i < L->length; i++)
{
printf("%d\t",L->data[i]);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人