欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2014年03月30日 09:07:17   作者:  
這篇文章主要介紹了c語言實(shí)現(xiàn)順序表的基本操作,需要的朋友可以參考下

數(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)輸順序表的長度:\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;
}

相關(guān)文章

  • C++ 中回文數(shù)判斷簡(jiǎn)單實(shí)例

    C++ 中回文數(shù)判斷簡(jiǎn)單實(shí)例

    這篇文章主要介紹了C++ 中回文數(shù)判斷簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C語言深入分析遞歸函數(shù)的實(shí)現(xiàn)

    C語言深入分析遞歸函數(shù)的實(shí)現(xiàn)

    遞歸(recursive)函數(shù)是“自己調(diào)用自己”的函數(shù),無論是采用直接或間接調(diào)用方式。間接遞歸意味著函數(shù)調(diào)用另一個(gè)函數(shù)(然后可能又調(diào)用第三個(gè)函數(shù)等),最后又調(diào)用第一個(gè)函數(shù)。因?yàn)楹瘮?shù)不可以一直不停地調(diào)用自己,所以遞歸函數(shù)一定具備結(jié)束條件
    2022-04-04
  • C++實(shí)現(xiàn)LeetCode(128.求最長連續(xù)序列)

    C++實(shí)現(xiàn)LeetCode(128.求最長連續(xù)序列)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(128.求最長連續(xù)序列),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++中事件機(jī)制的簡(jiǎn)潔實(shí)現(xiàn)及需要放棄的特性

    C++中事件機(jī)制的簡(jiǎn)潔實(shí)現(xiàn)及需要放棄的特性

    事件模型是被廣泛使用的好東西,但是C++標(biāo)準(zhǔn)庫里沒有現(xiàn)成的,現(xiàn)在VC11可以用在XP下了,那么就痛快的拿起C++11提供的先進(jìn)設(shè)施組合出一個(gè)輕便的實(shí)現(xiàn)吧感興趣的朋友可以了解下,或許對(duì)你有所幫助
    2013-02-02
  • C語言實(shí)現(xiàn)單元測(cè)試的示例詳解

    C語言實(shí)現(xiàn)單元測(cè)試的示例詳解

    單元測(cè)試(unit testing),是指對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。這篇文章主要為大家介紹了C語言實(shí)現(xiàn)單元測(cè)試的方法,需要的可以參考一下
    2022-09-09
  • C語言 用while循環(huán)求和的平均值操作

    C語言 用while循環(huán)求和的平均值操作

    這篇文章主要介紹了C語言 用while循環(huán)求和的平均值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 通俗易懂的C語言快速排序和歸并排序的時(shí)間復(fù)雜度分析

    通俗易懂的C語言快速排序和歸并排序的時(shí)間復(fù)雜度分析

    這篇文章主要為大家通俗易懂的講解了C語言快速排序和歸并排序的時(shí)間復(fù)雜度分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • php正則表達(dá)式的基本語法總結(jié)

    php正則表達(dá)式的基本語法總結(jié)

    以下是對(duì)php正則表達(dá)式的基本語法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下
    2013-10-10
  • VS中PCL庫附加依賴項(xiàng)配置過程解析

    VS中PCL庫附加依賴項(xiàng)配置過程解析

    這篇文章主要介紹了VS中PCL庫附加依賴項(xiàng)配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 利用C語言實(shí)現(xiàn)三子棋游戲

    利用C語言實(shí)現(xiàn)三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了利用C語言實(shí)現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02

最新評(píng)論