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

📄 linelink.cpp

📁 建立一个顺序存储的 线性表
💻 CPP
字号:

#include<stdlib.h>
#include<iostream.h>
#define list_init_size 100
#define listincrement 10
typedef struct {
	int *elem;
	int length;
	int listsize;
}sqlist;
void showlist_sq(sqlist &l){
	cout<<"链表为如下:"<<endl;
	for(int i=1;i<=l.length;i++)
	    cout<<l.elem[i]<<"      ";
	    cout<<endl<<endl;
		 cout<<endl<<endl;
		  cout<<endl<<endl;

}//显示表
void initlist_sq(sqlist &l){
	l.elem =(int *)malloc(list_init_size*sizeof(int));
	if(!l.elem) exit(1);
	l.length=0;
	l.listsize=list_init_size;
	cout<<"给链表分配内存成功!"<<endl<<endl;
}//分配内存!!
void insert_sq(sqlist &l){
	cout<<"请输入你要插入多少个数!!:"<<endl<<endl;
	int num;
	cin>>num;
    cout<<"请按顺序输入你要插入的"<<num<<"个数!:"<<endl<<endl;
	for(int i=1;i<=num;i++)
		cin>>l.elem[i];
	l.length=num;
	l.listsize=list_init_size;
	cout<<"输入的";
	showlist_sq(l);
}//初始化表

void dele_sq(sqlist &l){
	cout<<"请输入你要删除的元素:"<<endl;
	int s;
	cin>>s;
	for(int i=1;i<=l.length;i++){
		if(l.elem[i]==s) {
			for(int j=i;j<=l.length;j++)
				l.elem[j]=l.elem[j+1];
			--l.length;
			--i;
             l.listsize=list_init_size;
		}
	}
      cout<<"删除后链表的长度为:"<<l.length<<endl<<endl;
       cout<<"删除后的";
	   showlist_sq(l);
}//删除表的元素
void insertone_sq(sqlist &l){
	int tem;
	cout<<"请输入你要插入的元素:"<<endl;
    cin>>tem;
	int i=1;
	if(l.elem[1]>tem){
			for(int j=l.length-i+1 ;j>0;j--)
			l.elem[j+i]=l.elem[j+i-1];
		l.elem[i]=tem;
		l.length++;
		//cout<<"插在头!"<<endl;
	}

	else{
		while((l.elem[i]<tem)&&(i<=l.length)){
		i++;
		}
	if(i>l.length){
		l.elem[l.length+1]=tem;
		l.length++;
		//cout<<"插后面"<<endl;
	}
	else
	{
	for(int j=l.length-i+1 ;j>0;j--)
			l.elem[j+i]=l.elem[j+i-1];
		l.elem[i]=tem;
		l.length++;
	//	cout<<"插中间"<<endl;
	}
}
	cout<<"插入后的";
	showlist_sq(l);
	
}//插入一个元素
void main(){
	sqlist l;
	int j=1;
	int i;
	while(j){

		cout<<"请输入你要的操作:("<<"1.初始化表  "<<"2.键表  "<<"3.插入  "<<"4.删除  ""5.退出)"<<endl;
		cin>>i;
	    
		switch(i){
			case 1:
				initlist_sq(l);
				break;
			case 2:
				insert_sq(l);
				break;
            case 3:
				insertone_sq(l);
				break;
            case 4:
				dele_sq(l);
				break;
			case 5:
				j=0;
				break;
		}
	}
}







⌨️ 快捷键说明

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