欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      算法與數(shù)據(jù)結(jié)構(gòu)實驗 14計統(tǒng)一 1413101001 王成[五篇材料]

      時間:2019-05-12 08:38:56下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《算法與數(shù)據(jù)結(jié)構(gòu)實驗 14計統(tǒng)一 1413101001 王成》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《算法與數(shù)據(jù)結(jié)構(gòu)實驗 14計統(tǒng)一 1413101001 王成》。

      第一篇:算法與數(shù)據(jù)結(jié)構(gòu)實驗 14計統(tǒng)一 1413101001 王成

      金陵科技學院實驗報告

      學 生 實 驗 報 告 冊

      課程名稱:

      學生學號:

      所屬院部:

      (理工類)

      算法與數(shù)據(jù)結(jié)構(gòu) 專業(yè)班級:14計算機科學與技術(shù)1 1413101001 學生姓名: 王成

      計算機工程 指導教師: 徐永華 15 ——20 16 學年 第 二 學期

      金陵科技學院教務處制

      金陵科技學院實驗報告

      實驗報告書寫要求

      實驗報告原則上要求學生手寫,要求書寫工整。若因課程特點需打印的,要遵照以下字體、字號、間距等的具體要求。紙張一律采用A4的紙張。

      實驗報告書寫說明

      實驗報告中一至四項內(nèi)容為必填項,包括實驗目的和要求;實驗儀器和設備;實驗內(nèi)容與過程;實驗結(jié)果與分析。各院部可根據(jù)學科特點和實驗具體要求增加項目。

      填寫注意事項

      (1)細致觀察,及時、準確、如實記錄。(2)準確說明,層次清晰。

      (3)盡量采用專用術(shù)語來說明事物。

      (4)外文、符號、公式要準確,應使用統(tǒng)一規(guī)定的名詞和符號。(5)應獨立完成實驗報告的書寫,嚴禁抄襲、復印,一經(jīng)發(fā)現(xiàn),以零分論處。

      實驗報告批改說明

      實驗報告的批改要及時、認真、仔細,一律用紅色筆批改。實驗報告的批改成績采用百分制,具體評分標準由各院部自行制定。

      實驗報告裝訂要求

      實驗批改完畢后,任課老師將每門課程的每個實驗項目的實驗報告以自然班為單位、按學號升序排列,裝訂成冊,并附上一份該門課程的實驗大綱。

      金陵科技學院實驗報告

      實驗項目名稱: 順序表 實驗學時: 2 同組學生姓名: 實驗地點: A101 實驗日期: 4.5 實驗成績: 批改教師: 批改時間:

      金陵科技學院實驗報告

      實驗1 順序表

      一、實驗目的和要求

      掌握順序表的定位、插入、刪除等操作。

      二、實驗儀器和設備

      Turbo C 2.0

      三、實驗內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)編寫程序建立一個順序表,并逐個輸出順序表中所有數(shù)據(jù)元素的值。編寫主函數(shù)測試結(jié)果。

      (2)編寫順序表定位操作子函數(shù),在順序表中查找是否存在數(shù)據(jù)元素x。如果存在,返回順序表中和x值相等的第1個數(shù)據(jù)元素的序號(序號從0開始編號);如果不存在,返回-1。編寫主函數(shù)測試結(jié)果。(3)在遞增有序的順序表中插入一個新結(jié)點x,保持順序表的有序性。

      解題思路:首先查找插入的位置,再移位,最后進行插入操作;從第一個元素開始找到第一個大于該新結(jié)點值x的元素位置i即為插入位置;然后將從表尾開始依次將元素后移一個位置直至元素i;最后將新結(jié)點x插入到i位置。

      (4)刪除順序表中所有等于X的數(shù)據(jù)元素。

      2、選做題

      (5)已知兩個順序表A和B按元素值遞增有序排列,要求寫一算法實現(xiàn)將A和B歸并成一個按元素值遞減有序排列的順序表(允許表中含有值相同的元素)。

      程序清單:

      #include #define maxsize 32 typedef struct { int data[maxsize];int length;}sequenlist;void setup(sequenlist *a)

      金陵科技學院實驗報告

      {

      } int locate(sequenlist a,int x){

      } int insert(sequenlist *a,int x){ int i,j;int i;for(i=0;i

      } return-1;if(a.data[i]==x){ } return i;int i;printf(“要輸入幾個數(shù):n”);scanf(“%d”,&a->length);if(a->length<=maxsize){

      } else printf(“溢出n”);for(i=0;ilength;i++){

      } printf(“請輸入數(shù)字:n”);scanf(“%d”,&a->data[i]);

      金陵科技學院實驗報告

      } if(a->length==maxsize){

      } for(i=0;ilength;i++){

      } a->data[a->length]=x;a->length++;if(a->data[i]>x){

      } for(j=a->length-1;j>=i;j--)a->data[j+1]=a->data[j];printf(“溢出”);return-1;a->data[i]=x;a->length++;return 1;void Delete(sequenlist *a,int x){

      int i,j;for(i=0,j=0;ilength;i++){

      if(a->data[i]==x){

      for(j=i;j<(a->length);j++)a->data[j]=a->data[j+1];a->length--;i--;

      金陵科技學院實驗報告

      } } } void combine(sequenlist *a,sequenlist *b,sequenlist *c){

      } main(){ int i,x;int i,j;if((a->length+b->length)>maxsize)printf(“溢出”);else {

      } for(i=(a->length-1),j=(b->length-1);i>=0||j>=0;){

      if(a->data[i]>b->data[j]){ c->data[c->length]=a->data[i];c->length++;i--;} else

      } { c->data[c->length]=b->data[j];c->length++;j--;}

      金陵科技學院實驗報告

      sequenlist a,b,c;c.length=0;setup(&a);for(i=0;i

      金陵科技學院實驗報告

      } for(i=0;i

      四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)

      金陵科技學院實驗報告

      五、實驗體會(遇到問題及解決辦法,編程后的心得體會)

      這次編程總的來說還是很簡單的,但在編程過程中一定要考慮邊界條件,以免出現(xiàn)數(shù)據(jù)溢出。

      金陵科技學院實驗報告

      實驗項目名稱: 單鏈表 實驗學時: 2 同組學生姓名: 實驗地點: A101 實驗日期: 2016.4.12 實驗成績: 批改教師: 批改時間:

      金陵科技學院實驗報告

      實驗2 單鏈表

      一、實驗目的和要求

      1、實驗目的

      掌握單鏈表的定位、插入、刪除等操作。

      2、實驗要求

      (1)注意鏈表的空間是動態(tài)分配的,某結(jié)點不用之后要及時進行物理刪除,以便釋放其內(nèi)存空間。

      (2)鏈表不能實現(xiàn)直接定位,一定注意指針的保存,防止丟失。

      二、實驗儀器和設備

      Turbo C 2.0

      三、實驗內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)編寫程序建立一個單鏈表,并逐個輸出單鏈表中所有數(shù)據(jù)元素。(2)在遞增有序的單鏈表中插入一個新結(jié)點x,保持單鏈表的有序性。

      解題思路:首先查找插入的位置然后進行插入操作;從第一個結(jié)點開始找到第一個大于該新結(jié)點值的結(jié)點即為插入位置;然后在找到的此結(jié)點之前插入新結(jié)點;注意保留插入位置之前結(jié)點的指針才能完成插入操作。

      (3)編寫實現(xiàn)帶頭結(jié)點單鏈表就地逆置的子函數(shù),并編寫主函數(shù)測試結(jié)果。

      2、選做題

      已知指針LA和LB分別指向兩個無頭結(jié)點單鏈表的首元結(jié)點。要求編一算法實現(xiàn),從表LA中刪除自第i個元素起共len個元素后,將它們插入到表LB中第j個元素之前。程序清單:

      #include typedef struct node { int data;struct node *next;}linklist;

      金陵科技學院實驗報告

      linklist *create(){ int i;linklist *head,*p,*r;head=(linklist*)malloc(sizeof(linklist));r=head;printf(“輸入幾個數(shù)據(jù):n”);scanf(“%d”,&head->data);for(i=0;idata;i++){

      printf(“請輸入數(shù)據(jù):n”);

      p=(linklist*)malloc(sizeof(linklist));

      scanf(“%d”,&p->data);

      r->next=p;

      r=p;} r->next=NULL;return head;} void display(linklist *head){

      金陵科技學院實驗報告

      linklist *p;p=head->next;do {

      printf(“%4d”,p->data);

      p=p->next;}while(p);printf(“n”);} void sort(linklist *head){ linklist *p,*q;int x;for(p=head->next;p->next!=NULL;p=p->next){

      for(q=p->next;q!=NULL;q=q->next)

      {

      if(p->data>q->data)

      {

      x=p->data;

      p->data=q->data;

      q->data=x;

      金陵科技學院實驗報告

      }

      } } } void insert(linklist *head){ int x;linklist *p,*r;printf(“輸入要插入的數(shù):n”);scanf(“%d”,&x);r=(linklist*)malloc(sizeof(linklist));r->data=x;p=head->next;while(p->datanext!=NULL)

      p=p->next;if(p->next==NULL){

      p->next=r;

      r->next=NULL;} else {

      金陵科技學院實驗報告

      r->next=p->next;p->next=r;} head->data++;} void ni(linklist *head){ linklist *p,*r;int i,j,n;r=head->next;j=head->data;while(j>head->data /2){ p=head;i=0;while(p->next!=NULL&&i

      p=p->next;

      i++;} n=p->data;p->data=r->data;

      金陵科技學院實驗報告

      r->data=n;j--;r=r->next;}

      } main(){ linklist *head;head=create();display(head);sort(head);printf(“輸出排序后的:n”);display(head);insert(head);display(head);ni(head);display(head);}

      金陵科技學院實驗報告

      四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)

      五、實驗體會(遇到問題及解決辦法,編程后的心得體會)

      在這次試驗中,我學會了單鏈表的建立,插入,刪除等基本操作。剛開始時,由于對單鏈表的操作不是很熟悉出現(xiàn)了很多錯誤,但在翻閱書本后還是一一解決了。

      單鏈表比起數(shù)組,它的插入,刪除等操作要更簡便,不會浪費存儲空間。

      金陵科技學院實驗報告

      實驗項目名稱: 堆棧和隊列 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:

      金陵科技學院實驗報告

      實驗3 堆棧和隊列

      一、實驗目的和要求

      (1)掌握應用棧解決問題的方法。(2)掌握利用棧進行表達式求和的算法。

      (3)掌握隊列的存儲結(jié)構(gòu)及基本操作實現(xiàn),并能在相應的應用問題中正確選用它們。

      二、實驗儀器和設備

      Turbo C 2.0

      三、實驗內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)判斷一個算術(shù)表達式中開括號和閉括號是否配對。(2)測試“漢諾塔”問題。

      (3)假設稱正讀和反讀都相同的字符序列為”回文”,試寫一個算法判別讀入的一個以’@’為結(jié)束符的字符序列是否是“回文”。

      2、選做題

      在順序存儲結(jié)構(gòu)上實現(xiàn)輸出受限的雙端循環(huán)隊列的入列和出列算法。設每個元素表示一個待處理的作業(yè),元素值表示作業(yè)的預計時間。入隊列采取簡化的短作業(yè)優(yōu)先原則,若一個新提交的作業(yè)的預計執(zhí)行時間小于隊頭和隊尾作業(yè)的平均時間,則插入在隊頭,否則插入在隊尾。程序清單:

      #include #define maxsize 160 typedef struct { int top;char data[maxsize];}Stack;void Push(Stack *s, char ch)

      金陵科技學院實驗報告

      { if(maxsize-1 == s->top){ printf(“??臻g已滿!”);return;} else { ++s->top;s->data[s->top] = ch;} }

      char Pop(Stack *s){ char ch;if(-1 == s->top){ printf(“空棧!”);return '