亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用C語言描述數據結構

2019-11-17 05:28:37
字體:
來源:轉載
供稿:網友

  學好計算機,主要要從三個方面做起,其中,第一步就是要學好各種語言,這是第一步,對各種語言有一個大體的了解;然后就是數據結構了,它是計算機中的一門核心的課程,也是一門信息計算;在最后本人認為就是算法了,它也是這三部中最難得一步了,要學好計算機,做一名優秀的程序元,這三步是最基本的,然后再是在他們的基礎上層層深入。

  在過去的一年之中,我對計算機的語言有了一個大體的了解,在前一段時間,我自學了數據結構,下面,談談我自學的數據結構的看法,在接下來一段有人指點的時間里,再來糾正以前對數據結構的錯誤看法。

  數據結構是一個比較抽象的東西,他的任務是從各種實際的問題中歸納,抽象出個對象的特征,對象之間的相互關系,在選擇合適的數據結構來組織,、儲存和選擇相應的算法。其中,最重要的還是一種抽象思維的轉換,需要有一種歸納的思維,在初學的時候,我選擇了在理解的基礎上背一些比較典型的數據結構,比如:線性表,隊,餞的儲存方法等,最后發現一些其他的東西也可以類似。

  用C語言描述數據結構可以分為以下幾部分:線性表,隊,餞,廣義表,然后是樹,圖,最后還有遞歸,串,查找,排序。其中較為典型的例子有走迷宮,漢諾塔,出入隊列哈夫曼編碼等。

  現行表示具有相同特征的數據元素的一個有限序列,儲存方式有兩種:順序儲存——順序表,鏈式儲存——鏈表。

  (一)順序表儲存結構,用C語言來運行各個基本運算的分類:

Typedef char ElemType /*將字符性重新用ElemType來定義*/
#define MaxSize 99 /*用宏定義來定義MaxSize*/

Typedef strUCt
{
 ElemType elem[MaxSize]; /*定義一種為SqList的結構體類型*/
 Int length;
}SqList;
  (1) 初始化線性表

Void InitList(SqList *&L) /*將L定義為SqList類型*/
{
 L=(Sqlist *)malloc(sizeof(SqList)); /*在內存的動態區分配一個長度為n個
 L->length=0; 長為sizeof的連續空間*/
}
  (2) 銷毀線性表

Void DestroyList(SqList *&L)
{
 Free(L); /*釋放L的儲存空間*/
}
  (3) 判定線性表是否為空

Int ListEmpty(SqList *L)
{
 Return(L->length==0);
}
  (4) 求線性表的長度

Int ListLength(SqList *L)
{
 Return(L->length);
}
  (5) 輸出線性表

Void Displist(SqList *L)
{
 int i;
 if(ListEmpty(L))
  return;
 for(i=0;i<L-LENGTH;I++;)
  PRintf(“%c,”L-elem[i]);
  printf(“/n”);
}
  (6) 求線性表中某個數據元素得值

  比如求線性表的第i個元素的值e

int GetElem(SqList *L,int i,Elemtype e) /*線性表L的第i個元素的值e*/
{
 If(i<1i>L-length)
  Return 0;
 else
 {
  e=L->elem[i-1];
  return 1;
 }
  (7) 按元素值查找(查找第一個與元素值相同的元素的位置)

int Locateelem(SqList *L,Elemtype e)
{
 int i=0;
 while(ilength&&L->elem[i]!=e) /*i的值存在的范圍*/
  i++;
 if(i>=L-length)
  return 0;
 else
  return i+1;
}
  (8) 插入數據元素

int ListInsert(SqList *L,int i,ElemType e)
{
 int j;
 if(i<1i>L->length+1)
  return 0;
 i--;
 for(j=L->length;j>1;j--)
  L->elem[j]=L->elem[j-1]; /*首先出一個空的位子,然后前面的值依次
  L->elem[e]; 覆蓋后面的值,即將前面的支附給后面的值*/
  L->length++;
  return 1;
}
  (9)刪除數據元素

int ListDelete(SqList *L,int i,ElemType &e)
{
 int j;
 if(i<1i>L->length+1)
  return 0;
 i--;
 e=L->elem[i];
 for(j=i;jlength-1;j++)
  L->elem[j]=L->elem[j+1]; /*與插入數據元素基本相似*/
 L->length--;
 return 1;
}
  以上是數據結構關于順序表的各種有關的儲存方式,與順序表對應的是鏈表,它也是一種非常重要的儲存方式。

  在初次接觸到c語言的時候已經對鏈表有了大體的了解,它主要是由結點和指針域組成,指針指向下一個結點。

  (二)單鏈表的運算的實現


Typedef char ElemType
#define MaxSize 99
Typedef struct LNode
{
 ElemType data;
 struct LNode *next;
}LinkList;
  (1)初始化線性表

void InitList(LinkList *&L)
{
 L=(Linklist *)malloc(sizeof(Linklist)); /*創建頭結點*/
 L->next=NULL;
}
  (2)銷毀線性表

Void DestroyList(LinkList *&L)
{
 LinkList *p=L,q=L->next; /*p位頭結點,q為p的后繼結點*/
 while(q!=NULL)
 {
  free(p);
  p=q; /*p逐漸向后釋放*/
  q=p-next;
  free(p); /*釋放最后一個p*/
 }
  (3)判定線性表是否為空?

int ListEmpty(LinkList *L)
{
 return(L->next==NULL)
}
  (4)求線性表的長度

int ListLength(LinkList *L)
{
 LinkList *p=L; /*將L的頭結點重新定義為P*/
 int i=0;
 while(p->next!=NULL)
 {
  i++;
  p=p->next; /*逐漸指向后面的指針*/
 }
 return i;
}
  (5)輸出線性表

void DispList(LinkList *L)
{
 LinkList *P=L->next;
 while(p!=NULL)
 {
  printf("%c",p->data); /*打印出那個數據元素*/
  p=p->next;
 }
 printf("/n");
}
  (6)求線性表中的夢數據元素的值

int GetList(LinkList *L,int i,ElemType &e)
{
 int j;
 LinkList *P=L;
 while(p!=NULL&&j<I) p *直到找到與給出的數相等的項*>
 {
  j++;
  p=p->next;
 }
 if(p==NULl)
  return 0;
 else
 {
  e=p->date;
  return 1;
 }
}
  (7)按元素值查找(在單鏈表中從頭開始查找第一個值與e相同的結點)

int LocateElem(LinkList *L,ElemType e)
{
 LinkList *p=L->next;
 int n=1;
 while(p!=NULL&&p->data!=e)
 {
  p=p->next;
  n++;
 }
 if(p=NULL)
  return 0;
 else
  return n;
}
  (8)插入數據元素

int InsertElem(LinkList *&L,int i,ElemType e)
{
 LinkList *p=L,*s;
 int j=0;
 while(p!=NULL&&j<I)
 {
  p=p->next;
  j++;
 }
 if(p=NULL)
  return 0;
 else
 {
  s=(LinkList *)malloc(sizeof(LinkList)); /*新建一個結點*/
  s->data=e;
  s->next=p->next; /*將s插入*/
  p->next=s;
  return 1
 }
}
  (9)刪除數據元素

int DeleteElem(LinkList *&L,int i,ElemType e)
{
 LinkList *p=L,*s;
 int j=0;
 while(p!=NULL&&j<I)
 {
  p=p->next;
  j++;
 }
 if(p=NULL)
  return 0;
 else
 {
  s=p->next;
  if(s==NULL)
  return 0;
  free(s);
  return 1
 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线视频日韩精品| 黄网站色欧美视频| 亚洲国产精品久久久久| 97在线看福利| 欧美性猛交xxxx富婆弯腰| 欧美裸体xxxx| 欧美又大又粗又长| 日韩亚洲国产中文字幕| 亚洲淫片在线视频| 91亚洲va在线va天堂va国| 亚洲人成网站777色婷婷| 亚洲欧美日韩图片| 欧美日韩高清区| 亚洲欧洲日产国产网站| 久久久精品日本| 北条麻妃99精品青青久久| 69久久夜色精品国产69| 亚洲乱码国产乱码精品精| 国产盗摄xxxx视频xxx69| 姬川优奈aav一区二区| 欧美影院久久久| 亚洲性av网站| 亚洲精品在线91| 亚洲有声小说3d| 亚洲欧洲av一区二区| xxxxx91麻豆| 久久天天躁夜夜躁狠狠躁2022| 欧美中文字幕在线观看| 亚洲精品网站在线播放gif| 久久手机精品视频| 91av福利视频| 精品免费在线观看| www.欧美三级电影.com| 亚洲美女在线观看| 国产高清在线不卡| 亚洲毛片在线观看| 久久99精品视频一区97| 日本最新高清不卡中文字幕| 日韩欧美亚洲范冰冰与中字| 国产综合视频在线观看| 日韩精品免费在线观看| 欧美成人精品xxx| 日韩电影中文字幕在线| 在线播放国产一区中文字幕剧情欧美| 中文字幕日韩在线观看| 国产精品第七影院| 亚洲成人黄色网| 成人国产精品av| xxxxx成人.com| 精品中文字幕乱| 中日韩午夜理伦电影免费| 日韩精品在线观看视频| 欧美成人黄色小视频| 国产精品av免费在线观看| 亚洲成人激情在线| 欧美黑人狂野猛交老妇| 亚洲一区美女视频在线观看免费| 午夜精品一区二区三区在线视| 亚洲欧美另类人妖| 欧美成年人在线观看| 久久精品色欧美aⅴ一区二区| 欧美午夜激情小视频| 中文日韩在线观看| 精品成人69xx.xyz| 久久中文字幕在线视频| 色中色综合影院手机版在线观看| 国产精品视频网站| 亚洲国产欧美一区二区丝袜黑人| 久久精品国产69国产精品亚洲| 国产精品中文久久久久久久| 国产精品久久久久久久久| 亚洲iv一区二区三区| 在线电影中文日韩| 亚洲精品少妇网址| 日韩女优人人人人射在线视频| 亚洲一区二区福利| 精品成人在线视频| 亚洲视频电影图片偷拍一区| 亚洲美女动态图120秒| 亚洲性线免费观看视频成熟| 欧美日韩国产123| 亚洲激情在线视频| 精品久久久久久久中文字幕| 在线观看国产精品日韩av| 色偷偷888欧美精品久久久| 亚洲最新av在线网站| 久久成人精品一区二区三区| 国产va免费精品高清在线观看| 久久av在线播放| 亚洲精品有码在线| 久热在线中文字幕色999舞| 亚洲国产精品久久久久秋霞不卡| 亚洲欧美日韩国产成人| 国产精品丝袜视频| 国产精品1区2区在线观看| 欧美亚洲国产精品| 亚洲欧美另类中文字幕| 国产偷亚洲偷欧美偷精品| 欧美日韩亚洲视频一区| 欧美午夜无遮挡| 成人国产精品一区二区| 亚洲欧洲国产精品| 久精品免费视频| 日韩欧美aⅴ综合网站发布| 亚洲最大av网站| 国产精品久久久久7777婷婷| 色系列之999| 午夜精品一区二区三区在线视| 欧美成人在线网站| 国产成人精品av在线| 日韩免费观看视频| 欧美夫妻性生活xx| 国产成人亚洲综合91精品| 国产精品直播网红| 亚洲精品国产精品乱码不99按摩| 欧美在线视频一区二区| 国产精品揄拍500视频| 日韩激情视频在线| 韩曰欧美视频免费观看| 欧美自拍视频在线观看| 国产精品综合久久久| 中文字幕精品国产| 中文字幕精品国产| 日韩美女视频免费看| 91在线观看免费| 亚洲国产精品悠悠久久琪琪| 欧美大荫蒂xxx| 狠狠色狠狠色综合日日五| 成人精品久久久| 日韩av免费看网站| 欧美激情国产日韩精品一区18| 亚洲精品视频中文字幕| 亚洲男人的天堂在线| 成人免费激情视频| 国产精品久久久久9999| 91精品国产91久久久| 欧美激情久久久久| 日韩国产中文字幕| 欧美日韩人人澡狠狠躁视频| 国产免费一区二区三区在线观看| 日韩av男人的天堂| 久久久精品久久久久| 欧美中文在线观看| 欧美激情精品久久久久久黑人| 91久久精品在线| 91av在线播放| 欧美日韩一区二区在线播放| 久久久亚洲国产天美传媒修理工| 国语自产精品视频在线看抢先版图片| 久久精品久久久久久| 国产精品久久久久久久久久久不卡| 久久国产精品久久国产精品| 国产精品欧美久久久| xxxx欧美18另类的高清| 欧美大全免费观看电视剧大泉洋| 亚洲欧美成人网| 国外成人在线直播| 国产精品丝袜白浆摸在线| 九九久久国产精品| 久久成人av网站| 国产精品入口免费视频一| 欧美极品美女视频网站在线观看免费| 欧美孕妇与黑人孕交| 久久亚洲精品视频|