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

📄 顺序表.cpp

📁 实现数据结构中的单链表、二叉树、顺序表和排序查找源码
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>
#define ListSize 100		
typedef int DataType;		
typedef struct
{	DataType data[ListSize];	
	int length;				
}SeqList;

void main()
{
	int LocateList(SeqList L,DataType x);
	void PrintList(SeqList L,int n);
	void InsertList(SeqList *L,DataType x,int i);
	void DeleteList(SeqList *L,int i);
	SeqList L;
	int i,n=10,x;
	printf("                            欢迎进入顺序表程序!\n");
	printf("请输入10个数据:");
	for (i=0;i<n;i++)
		scanf("%d",&L.data[i]);
	L.length=n;
	PrintList(L,n);			
	printf("输入要查找的值:");
	scanf("%d",&x);
	i=LocateList(L,x);		
	if (i==0)
		printf("未找到%d!\n",x);
	else
		printf("找到%d,在第%d个位置上!\n",x,i);
	printf("输入要插入的位置:");
	scanf("%d",&i);
	printf("输入要插入的元素:");
	scanf("%d",&x);
	InsertList(&L,x,i);
	n=L.length;
	PrintList(L,n);			
	printf("输入要删除的位置:");
	scanf("%d",&i);
	DeleteList(&L,i);
	n=L.length;
	PrintList(L,n);	
	printf("                             谢谢使用!\n");
}


int LocateList(SeqList L,DataType x)
{	int i=0;
	while (i<L.length && L.data[i]!=x)   
		++i;
	if (i<L.length) return i+1;		
	else return 0;					
}
void InsertList(SeqList *L,DataType x,int i)
{
	int j;
	if (i<1 || i>L->length+1)
	{
		printf("插入位置非法\n");
		exit(0);
	}
	if (L->length>=ListSize)
	{
		printf("表空间溢出,退出运行\n");
		exit(0);
	}
	for (j=L->length-1;j>=i-1;j--)
		L->data[j+1]=L->data[j];	
	L->data[i-1]=x;					
	L->length++;					
}

void DeleteList(SeqList *L,int i)
{
	int j;
	if (L->length==0)
	{
		printf("线性表为空,退出运行\n");
		exit(0);
	}
	if (i<1 || i>L->length)
	{
		printf("删除位置非法\n");
		exit(0);
	}
	for (j=i;j<=L->length-1;j++)
		L->data[j-1]=L->data[j];	
	L->length--;					
}

void PrintList(SeqList L,int n)
{	int i;
	for (i=0;i<n;i++)
		printf("%d  ",L.data[i]);
	printf("\n");
}

⌨️ 快捷键说明

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