1、命名规则
C语言中对变量与函数有两种命名规则:
1、下划线命名法
无论函数名还是变量名,每个单词都是全小写,且单词之间用下划线_
连接,例如:list_insert
。
2、大/小驼峰命名法
函数名命名用大驼峰命名法,即:每个单词首字母大写,其余小写,且单词之间直接相连。
变量名命名用小驼峰命名法,即:除了首个单词,每个单词首字母大写,其余小写,且单词之间直接相连。
2、顺序表插入
C++语法:
c
#include <stdio.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
//MaxSize是顺序表的最大长度,即能够存放元素个数的上限
//ElemType,是为了让顺序表存储其他类型元素时,可以快速完成代码修改
int length;//顺序表当前元素个数
}SqList;
bool ListInsert(SqList &list, int i, ElemType n)
{
//判断需要插入的位置是否合法
if(i < 1 || i > list.length + 1)
{
return false;
}
//判断顺序表是否已满
if(list.length == MaxSize)
{
return false;
}
//插入元素操作
//其实质就是将元素逐个往后移动,将需要插入的位置空出来,再插入元素
for(int j = list.length; j >= i; j--)
{
list.data[j] = list.data[j-1];
}
list.data[i-1] = n;
//更新顺序表元素个数
list.length++;
return true;
}
int main()
{
SqList list;
//初始化顺序表
list.data[0] = 0;
list.data[1] = 1;
list.data[2] = 2;
//更新顺序表元素个数
list.length = 3;
bool ret = ListInsert(list, 4, 3);
if(ret)
{
printf("success\n");
for(int i = 0; i < list.length; i++)
{
printf("%3d", list.data[i]);
}
}
else
{
printf("false\n");
}
return 0;
}
C语法:
c
#include <stdio.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
//MaxSize是顺序表的最大长度,即能够存放元素个数的上限
//ElemType,是为了让顺序表存储其他类型元素时,可以快速完成代码修改
int length;//顺序表当前元素个数
}SqList;
int ListInsert(SqList *pList, int i, ElemType n)
{
//判断需要插入的位置是否合法
if(i < 1 || i > pList->length + 1)
{
return 0;
}
//判断顺序表是否已满
if(pList->length == MaxSize)
{
return 0;
}
//插入元素操作
//其实质就是将元素逐个往后移动,将需要插入的位置空出来,再插入元素
for(int j = pList->length; j >= i; j--)
{
pList->data[j] = pList->data[j-1];
}
pList->data[i-1] = n;
//更新顺序表元素个数
pList->length++;
return 1;
}
int main()
{
SqList *pList;
//初始化顺序表
pList->data[0] = 0;
pList->data[1] = 1;
pList->data[2] = 2;
//更新顺序表元素个数
pList->length = 3;
int ret = ListInsert(pList, 4, 3);
if(ret)
{
printf("success\n");
for(int i = 0; i < pList->length; i++)
{
printf("%3d", pList->data[i]);
}
}
else
{
printf("false\n");
}
return 0;
}
3、顺序表删除
C++语法:
c
#include <stdio.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
//MaxSize是顺序表的最大长度,即能够存放元素个数的上限
//ElemType,是为了让顺序表存储其他类型元素时,可以快速完成代码修改
int length;//顺序表当前元素个数
}SqList;
bool ListDelete(SqList &list, int i, ElemType &del)
{
//判断元素位置i是否合法
if(i < 1 || i > list.length)
{
return false;
}
del = list.data[i];
for(int j = i; j < list.length; j++)
{
list.data[j-1] = list.data[j];
}
//更新顺序表中的元素个数
list.length--;
return true;
}
int main()
{
SqList list;
//初始化顺序表
list.data[0] = 0;
list.data[1] = 1;
list.data[2] = 2;
//更新顺序表元素个数
list.length = 3;
//定义一个变量去保存被删除的元素
ElemType del;
bool ret = ListDelete(list, 2, del);
if(ret)
{
printf("success\n");
for(int i = 0; i < list.length; i++)
{
printf("%3d", list.data[i]);
}
printf("\n%3d\n", del);
}
else
{
printf("false\n");
}
return 0;
}
4、顺序表查找
C++语法:
c
#include <stdio.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
//MaxSize是顺序表的最大长度,即能够存放元素个数的上限
//ElemType,是为了让顺序表存储其他类型元素时,可以快速完成代码修改
int length;//顺序表当前元素个数
}SqList;
int LocateElement(SqList list, ElemType element)
{
int i;
for(i = 0; i < list.length; i++)
{
if(list.data[i] == element)
{
return i+1;
}
}
return 0;
}
int main()
{
SqList list;
//初始化顺序表
list.data[0] = 0;
list.data[1] = 1;
list.data[2] = 2;
//更新顺序表元素个数
list.length = 3;
//定义一个变量去保存被删除的元素
ElemType del;
int ret = LocateElement(list, 1);
if(ret)
{
printf("success\n");
printf("%d\n", ret);
}
else
{
printf("false\n");
}
return 0;
}