【重回C】c语言之顺序表的部分基本操作

原创 2015年11月17日 23:15:58
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef struct
{
	int data[MAXSIZE];
	int last;
}SeqList;  
void insert_list(SeqList *l,int pos,int data)
{
	int i;
	if(l->last>MAXSIZE-1) 
				{
					printf("空间溢出!");
				}
				else if(pos<1||pos>l->last+2)//插入前表长为last+1,插入后则为last+2 
				{
					printf("插入位置非法!");
				}
				else{
					for(i=l->last;i>=pos-1;i--)
					{
						l->data[i+1]=l->data[i];
					}
					l->data[pos-1]=data;
					l->last++;
				}
	
 } 
 void delete_list(SeqList *l,int pos)
 {
 		for(int i=pos;i<=l->last;i++)
					{
						l->data[i-1]=l->data[i];
					}
					l->last-=1;
  } 
int main(void)
{
	int choice,num,data,pos,i;
	SeqList l;
	while(true)
	{
		printf("  线性操作表练习\n");
		printf("1:创建一个数据表\n");
		printf("2:插入数据\n");
		printf("3:删除数据\n");
		printf("4:打印数据表中元素\n");
		printf("5:退出程序\n");
		printf("请输入选项:") ;
		scanf("%d",&choice);
		switch(choice)
		{
			case 1:
				printf("请输入你要创建的元素个数:");
				scanf("%d",&num);
				if(num>MAXSIZE)
				{
					printf("超出个数!");
					break;
				}
				printf("录入数据开始:");
				for(i=0;i<num;i++)
				{
					scanf("%d",&l.data[i]);
				}
				l.last=num-1;
				break;
			case 2:
				printf("请输入插入的元素值和位置:");
				scanf("%d %d",&data,&pos);
				insert_list(&l,pos,data);
				break; 
			case 3:
				printf("请输入你要删除元素所处的位置:");
				scanf("%d",&pos);
				if(pos<1||pos>l.last+1)
				{
					printf("输入的位置无效");
					break;
				}
				else
				{
					delete_list(&l,pos);
				}
				break;	
			case 4:
				printf("数据表为:");
				for(i=0;i<l.last+1;i++)
				{
					printf("%d ",l.data[i]);
				}
				printf("\n元素的个数为:%d ",l.last+1);
				break;	
			case 5:
				return 0;
				break;	
			default: 
				printf("没有这个选项!");
				break;		
		} 
	} 
} 
//由于很久没有接触过c了哈,会出现不少错误,本代码仅供参考 

顺序表的基本操作C语言

  • 2010年09月23日 11:29
  • 45KB
  • 下载

顺序存储结构线性表基本操作 纯C语言实现

自己把顺序表用C语言写了出来,并小试牛刀,做了一题,将La与Lb合并。 #include #include #define TRUE 1 #define FALSE 0 #define O...
  • D_Fur
  • D_Fur
  • 2012年08月03日 13:56
  • 9926

数据结构C语言实现线性表(顺序实现)的初始化与基本操作

#include #include #define LIST_INIT_SIZE 10 /*存储空间初始分配量*/ #define LISTINCREMENT 10 /*存储空间分配增量*/ type...

数据结构中顺序表的基本操作(纯C语言)

数据结构中顺序表的基本操作 初始化 插入 删除 查找 合并顺序表

C语言实现顺序表的插入、删除、查找、遍历等基本操作

C语言实现顺序表的插入、删除、查找、遍历等基本操作 /*编写完整的程序实现顺序的建立、查找、插入、删除等基本操作*/ #include #include #define LIST_INIT_SIZ...

c语言:顺序表的实现(一) 创建,插入,删除,查找,输出等基本操作实现

#include #include #define LIST_INIT_SIZE 100 #define LIST_INCREMENT 10 using namespace std; struct S...

顺序表的基本操作用c语言实现

#include #include #include #define initSize 20typedef struct{ int *data; int len,maxsize;...

SqListFunc顺序链表的12个基本操作的C语言代码(数据结构)

#include #include // exit() typedef int ElemType; typedef int Boolean; // Boolean是布尔类型,其值是TRUE或...

C语言实现顺序表的基本操作

数据结构老师给了几个接口,叫我们自己去实现顺序表的功能,感想就是顺序表实现起来比链表容易,但是还是要花费挺长的时间来构思,这一次的收获还是挺多的。...

数据结构(c语言版)顺序表的建立、初始化、插入、删除、遍历等12个基本操作及测试

数据结构是计算机类学生基本上必修的一门课程,也是比较难得一门课程。对于初学shujujiegouderenlaishui最近写了个数据结构的顺序表,运行了一下感觉还可以,所以想拿出来和大家分享一下...
  • wys_NO1
  • wys_NO1
  • 2016年10月23日 16:49
  • 2328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【重回C】c语言之顺序表的部分基本操作
举报原因:
原因补充:

(最多只允许输入30个字)