📄 linelink.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 + -