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

📄 lian.c

📁 推荐刚刚开始学C语言的同志们看下
💻 C
字号:
// lian.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#define ListSize 100// 假定表空间大小为100
#include <stdio.h>
#include <stdlib.h>
void Error(char * message)
{
fprintf(stderr,"错误:%s\n",message);
exit(1);
}//从0开始计, 表空间大小应为101了
typedef  int Datatype ;//假定Datatype的类型为int型
typedef  struct{
Datatype  data[ListSize];// 向量data用于存放表结点
int length; //  当前的表长度
} Seqlist;
//以上为定义表结构

//------------以下为两个主要算法----------
void InsertList ( Seqlist *L, Datatype x, int i)
{
//将新结点x插入L所指的顺序表的第i个结点ai的位置上
int j;
if ( i < 0 || i > L -> length )
Error("position error");// 非法位置,退出
if ( L->length>=ListSize )
Error("overflow");
 for ( j=L->length-1 ; j >= i ; j --)
L->data[j+1]=L->data [j];
L->data[i]=x ;
L->length++ ;
}

void DeleteList ( Seqlist *L, int i )
{// 从L所指的顺序表中删除第i个结点ai
int j;
 if ( i< 0 || i > L-> length-1)
Error( " position error" ) ;
 for ( j = i+1 ; j < L-> length ; j++ )
    L->data [ j-1 ]=L->data [ j]; // 结点前移
L-> length-- ; //表长减小
}
//===========以下为验证算法而加=======
void Initlist(Seqlist *L)
{
	L->length=0;
}
void main()
{
	 Seqlist *SEQA=new Seqlist;
	 Initlist(SEQA);
	 int i;
	 for (i=0;i<ListSize;i++)
	 {	
		 InsertList (SEQA,i,i);
		 printf("%d\n",SEQA->data[i]);
	 }
		 DeleteList (SEQA,99);
	 for (i=0;i<ListSize-1;i++)
	 {
	printf("%d\n",SEQA->data[i]);
	}
}

⌨️ 快捷键说明

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