国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

c語言實(shí)現(xiàn)順序表的基本操作

2020-01-26 15:33:34
字體:
供稿:網(wǎng)友

數(shù)據(jù)結(jié)構(gòu)順序表操作

復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define LIST_INIT_SIZE 100
#define LISINCREMENT 10
#define ElemType int
#define Status int
typedef struct Sq{
 ElemType *elem;
 int length;
 int listsize;
}SqList;
Status InitList(SqList *L)
{
 L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
 if(!L->elem)
  return 0;
 L->length=0;
 L->listsize=LIST_INIT_SIZE;
 return 1;
}
Status ListInsert(SqList *L,int i,ElemType e)
{
 int *q,*p;
 if(i<1||i>L->length)
  return 0;
 if(L->length>L->listsize)
 {
        ElemType *newbase=(ElemType*)realloc(L->elem,(LIST_INIT_SIZE+LISINCREMENT)*sizeof(ElemType));
     if(!newbase)
      return 0;
     L->elem=newbase;
     L->listsize+=(LISINCREMENT);
 }

 q=&(L->elem[i-1]);
 for(p=&(L->elem[L->length-1]);p>=q;--p)
  *(p+1)=*p;
    *q=e;
 ++L->length;
 return 1;
}
Status ListDelete(SqList *L,int i,ElemType e)
{
 int *p,*q;
 if(i<1||i>L->length)
        return 0;
    p=&(L->elem[i-1]);
 e=*p;
 q=L->elem+L->length-1;
 for(++p;p<=q;++p)
  *(p-1)=*p;
 --L->length;
 return 1;
}
int main(void)
{
 int i,j,e,lo,temp;
 SqList *L=(SqList*)malloc(sizeof(SqList));
    InitList(L);
 printf("請(qǐng)輸順序表的長(zhǎng)度:/n");
    scanf("%d",&L->length);
 printf("請(qǐng)輸入順序表的各個(gè)元素:/n");
 for(i=0;i<L->length;++i)
  scanf("%d",&L->elem[i]);
 printf("輸入的順序表是:/n");
    for (i=0;i<L->length;++i)
    {
  printf("%d ",L->elem[i]);
 }
 printf("/n");
    printf("請(qǐng)輸入插入的位置以及節(jié)點(diǎn):/n");
    scanf("%d%d",&j,&e);
 ListInsert(L,j,e); 
 printf("插入后的順序表為:/n");
 for (i=0;i<L->length;++i)
    {
  printf("%d ",L->elem[i]);
 }
 printf("/n");
 printf("請(qǐng)輸入要?jiǎng)h除的位置:");
 scanf("%d",&lo);
 ListDelete(L,lo,temp);
 for (i=0;i<L->length;++i)
    {
  printf("%d ",L->elem[i]);
 }
 printf("/n");
 free(L);
 return 0;
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 德兴市| 灵宝市| 五寨县| 洪泽县| 丹棱县| 恩平市| 安康市| 静海县| 琼结县| 南充市| 桂阳县| 临泽县| 东海县| 乐昌市| 汉川市| 奎屯市| 洛隆县| 万山特区| 中阳县| 平昌县| 枣阳市| 肃宁县| 江口县| 宿州市| 刚察县| 濮阳县| 英吉沙县| 宜黄县| 进贤县| 崇明县| 新化县| 榕江县| 金阳县| 祥云县| 翁源县| 昔阳县| 古蔺县| 军事| 高密市| 宁南县| 海南省|