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

📄 shujujieguo.txt

📁 链表的实现插入删除查找等一系列任务需改下实在不知道了
💻 TXT
字号:
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <stdio.h>

#define MAXSIZE 100 /*顺序表的容量*/

typedef char ElemType;
typedef struct 
{ 
ElemType data[MAXSIZE]; /*存放顺序表的元素*/
int length;     /*顺序表的实际长度*/
} SqList;

void InitList(SqList &sq) /*初始化线性表*/
{
sq.length=0;
}

int GetElem(SqList sq,int i,ElemType &e) /*求线性表中第i个元素*/
{
if (i<1 || i>sq.length)   /*无效的i值*/
   return 0;
else
{
   e=sq.data[i-1];
     return 1;
}
}



int Locate(SqList sq,ElemType x) /*按值查找*/
{
   int i=0;
   while (sq.data[i]!=x) /*查找值为x的第1个结点*/
    i++; 
   if (i>sq.length) 
    return(0); /*未找到*/
   else 
    return(i+1);
}


int InsElem(SqList &sq,ElemType x,int i) /*插入元素*/
{
   int j;
   if (i<1 || i>sq.length+1)         /*无效的参数i*/
       return 0;
   for (j=sq.length;j>i;j--)         /*将位置为i的结点及之后的结点后移*/
       sq.data[j]=sq.data[j-1];
    sq.data[i-1]=x;                  /*在位置i处放入x*/
   sq.length++;                      /*线性表长度增1*/
    return 1;
}


int DelElem(SqList &sq,int i)      /*删除元素*/
{
   int j;
   if (i<1 || i>sq.length)        /*无效的参数i*/
      return 0;
   for (j=i;j<sq.length;j++)     /*将位置为i的结点之后的结点前移*/
     sq.data[j-1]=sq.data[j];
   sq.length--;                   /*线性表长度减1*/ 
   return 1;
}


void DispList(SqList &sq) /*输出线性表*/
{
   int i;
   for (i=1;i<=sq.length;i++)
   cout<<sq.data[i-1]<<setw(2);
   cout<<endl;   
}

void main()
{
int i;
ElemType e;
SqList sq;
InitList(sq);   /*初始化顺序表sq*/
InsElem(sq,'a',1); /*插入元素*/
InsElem(sq,'c',2);
InsElem(sq,'a',3);
InsElem(sq,'e',4);
InsElem(sq,'d',5);
InsElem(sq,'b',6);
cout<<"线性表:"; DispList(sq);
i=3;
GetElem(sq,i,e);
cout<<"第"<<i<<"个元素:"<<e;
cout<<endl;
e='b';
Locate(sq,e);
cout<<"元素"<<e<<"是第"<<i<<"个元素\n";
i=4;
cout<<"删除第"<<i<<"个元素\n";
DelElem(sq,i);
cout<<"线性表:";DispList(sq);
getch();
}


⌨️ 快捷键说明

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