考研笔记 数据结构代码
本人小白一个,考研的科目是数据结构 就用此博客来记录练习的代码。借鉴了别人的很多地方和天勤书上的内容。
顺序表
构建一个顺序表 实现以一下功能
1.找出最大值
2.插入一个元素
3.删除一个元素
#include<stdio.h>
#include<iostream>
#define maxSize 100
#define ERROR 0;
using namespace std;
typedef struct{ //构建结构体
int data[maxSize]; //静态数组存放数据
int length; //长度
}Sqlist;
/* 创建顺序表*/
void creatSqlist(Sqlist *list)
{
cout << "输入元素" ;
for(i = 0; i < list->length; i++)
{
cin >> list->length[i];
}
}
//打印
void printSqlist(splist *list)
{
cout << "顺序表为:";
for(i = 0; i < list->length; i++)
{
cout << list->data[i] << " "//将数据域中的值输出
}
}
//查找最大值
int FindMax(Sqlist list)
{
int max = list.data[0]; //让max指向数组中第一个数据域
for(i = 1; i < list.length; i++) //扫描整个顺序表
{
if(max < list.data[i]){
max = list.data[i];
}
}
return max;
}
/*插入一个元素
要先判断能否插入*/
void InsertElem(Sqlist *list, int p ,int e) //插入元素后表发生改变所以要引用
{
int i;
if(p > list->length || p < 0)
{
cout << "error";
return 0;
}
for(i = list->length; i <= p; --i)
{
list->data[i+1] = list->data[i];
list->data[p] = e;
++list.length;
}
}
//删除一个元素
void DeleteElem(Sqlist *list, int p, int e)
{
if(p < 0 || p > length) //判断条件
return 0;
for(int i =p, i <= length-1, ++i)
{
list->data[i] = list->data[i+1];
}
list.length--;
printSqlist(list);
}
`