⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlist.cpp

📁 用户登陆系统存入车辆(存入时间
💻 CPP
字号:


#include "StdAfx.h"
#include "typedef.h"
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
#include <string.h>






//	名称:InitList_Sq
//	作用:新建一个顺序表
//	参数:(int)单个数据元素所占内存,(int)顺序表最大长度
//	返回值:成功:(Sqlist *)指向顺序表的指针
//			失败:0
Sqlist * InitList_Sq(int datasize,int maxsize)
{
	Sqlist * plist = (Sqlist *)malloc(sizeof(Sqlist));
	if (plist == 0)
		return 0;

	plist->buffer = (park_car *)malloc(sizeof(char) * datasize * maxsize);
	if (plist->buffer == 0)
		return 0;

	plist->datasize = datasize;
	plist->maxsize = maxsize;
	plist->length = 0;

	return plist;	
}




//	名称:InsertList_Sq
//	作用:向指定顺序表插入一个元素
//	参数:(Sqlist *)指向顺序表的指针,(int)要求插入的位置,(int)指向所插入数据的指针
//	返回值:成功:(int)1
//			失败:(int)0
int InsertList_Sq(Sqlist * plist,int pos,park_car * element)
{
	if (pos<0 || pos>plist->length)
		return 0;

	if (plist->length == plist->maxsize)
		return 0;

	for (int i=plist->length-1;	i>pos;	i--)
	{
		plist->buffer[i] = plist->buffer[i-1];
	}

	plist->buffer[pos] = * element;

	plist->length++;

	return 1;
}





//	名称:DeleteList_Sq
//	作用:从指定顺序表删除一个元素
//	参数:(Sqlist *)指向顺序表的指针,(int)要求删除元素的位置
//	返回值:成功:(int)1
//			失败:(int)0
int DeleteList_Sq(Sqlist * plist,int pos)
{
	if (pos<0 || pos>=plist->length)
		return 0;

	for (int i=pos;	i<plist->length;	i++)
	{
		plist->buffer[i] = plist->buffer[i+1];
	}

	plist->length--;

	return 1;
}





//	名称:DestroyList_Sq
//	作用:销毁一个顺序表
//	参数:(Sqlist *)指向顺序表的指针
//	返回值:空
void DestroyList_Sq(Sqlist * plist)
{
	free(plist->buffer);
	free(plist);
}





//	名称:Searchnumber_Sq
//	作用:查找车牌号码
//	参数:(Sqlist *)指向顺序表的指针,(char *)车牌号码
//	返回值:成功:(int)元素所在位置+1
//			失败:0
int Searchnumber_Sq(Sqlist * plist,char * number)
{
	for (int i=0; i<plist->length; i++)
	{
		if (strcmp(plist->buffer[i].number, number) == 0)
		{
			return (i+1);
		}
	}
	return 0;
}




//向顺序表填充二维数组
bool InPush(Sqlist * plist,int Inlong,int Inbreadth)  
{
	int i , j , ii = 0;

	for (i = 1 ; i<=Inbreadth ; i++)
	{
		for (j = 1 ; j<=Inlong ; j++)
		{
			plist->buffer[ii].parkplace.p_breadth = j;
			plist->buffer[ii].parkplace.p_long = i;
			ii++;
		}
	}

	//*********************************************************			Debug
		#ifdef DEBUG
		printf("\n\nDebug\n");

		for (int debug_i = 0 ; debug_i < user.Dimension.p_long * user.Dimension.p_breadth ; debug_i++)
		{
			printf("plist->buffer[%d].parkplace = %d-%d\n",debug_i,plist->buffer[debug_i].parkplace.p_long,plist->buffer[debug_i].parkplace.p_breadth);
		}

		printf("\n\n");
		getch();
		#endif 
	//**********************************************************

	return true;
}  



//判断是否为满
bool IsFull(Sqlist * plist)
{
	if (plist->length == plist->maxsize)
		return true;

	return false;
}



//判断是否为空
bool IsEmpty(Sqlist * plist)
{
	if (plist->length == 0)
		return true;

	return false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -