久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

大連東軟數據結構編程題(5篇)

時間:2019-05-12 05:04:59下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《大連東軟數據結構編程題》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《大連東軟數據結構編程題》。

第一篇:大連東軟數據結構編程題

數據結構編程題

1)題1 完成函數f的實現,參數a為int數組首地址,len為數組長度,要求函數f能夠將數組元素重新排列奇數在前,偶數在后。

答案:

void f(int *a, intlen){ inti, j;for(i=0;i

intflg=1;

for(j=0;j

if(a[j]%2==0 && a[j+1]%2){

inttmp=a[j];

a[j]=a[j+1];

a[j+1]=tmp;

flg=0;

}

}

if(flg)break;} } 2)題2 完成函數f的實現,參數a為int數組的首地址,len為數組長度,要求函數f能夠返回數組最大元素的個數。

答案:

int f(constint *a, intlen){

inti, max=0, cnt=1;//max用于保存最大元素的序號,cnt用于記錄個數 for(i=1;i

max=i;

cnt=1;} else if(a[max]==a[i]){

++cnt;} return cnt;} 3)題3 完成函數f的實現,參數a為int數組的首地址,len為數組長度,要求函數f能夠將數組元素按照個位排降序,同時要求使用的算法要保證排序穩定性。

答案:

解法一:(插入排序)

void f(int *a, intlen){ inti, j, tmp;for(i=1;i

tmp=a[i];

}

} if(!(a[i]%10>a[0]%10)){//對某數進行%10運算,即可獲取其個位上的值

for(j=i-1;tmp%10>a[j]%10;--j)

a[j+1]=a[j];a[j+1]=tmp;} else { for(j=i;j>0;--j)

a[j]=a[j-1];a[0]=tmp;} 解法二:(冒泡排序)

void f(int *a, intlen){ inti, j, flg, tmp;for(i=0;i

flg=0;

for(j=0;j

if(a[j+1]%10>a[j]%10){

tmp=a[j+1];

a[j+1]=a[j];

a[j]=tmp;

}

if(flg=0)

break;} } 4)題4 完成函數f的實現,參數a為int數組首地址,len數組長度,要求函數f返回數組中元素是否構成大根堆,是返回1,否返回0.答案:

_Bool f(constint *a, intlen){ inti;for(i=(len-1)/2;i>=0;--i){

if(a[i]

return false;

} } return true;}

5)題5 完成函數f的實現,參數a為int數組首地址,len為數組長度,x為一個整數,假設數組元素已排好降序,要求函數f運用折半查找算法,查找數組中是否存在x,存在返回1,不存在返回0。

答案:

_Bool f(constint *a, intlen, int x){ int low=0, high=len-1, mid=(low+high)/2;while(low

if(a[mid]==x){

return true;

} else if(a[mid]

high=mid;

} else if(a[mid]>x){

low=mid+1;

}

mid=(low+high)/2;} return false;} 6)題6 完成函數f的實現,參數s和t分別表示兩個字符串首地址,要求函數f返回字符串t在字符串s中出現的次數,例如:f(“aaa”, “aa”)返回2。

答案:

int f(const char *s, const char *t){ int len1=strlen(s), len2=strlen(t), i, num=0;for(i=0;i

if(strncmp(s+i, t, len2)==0)

++num;return num;}

7)題7 代碼中,結構體Node表示雙鏈表節點,其中p指向前驅,n指向后繼;結構體List表示鏈表,指針head指向鏈表頭節點,tail指向鏈表尾節點,當鏈表為空時,head和tail為0(NULL)。完成函數f的實現,參數lp表示鏈表結構的指針,要求函數f能夠刪除lp指向鏈表的尾節點,并釋放內存(假設鏈表節點內存來自堆區),函數f的返回值表示刪除操作是否成功,成功返回1,否則返回0。

答案:

_Bool f(List *lp){ if(lp->tail==NULL)

return false;Node *cur=lp->tail;lp->tail=cur->p;if(lp->tail==NULL)

lp->head=NULL;else

lp->tail->n=NULL;free(cur);return true;} 8)題8 代碼中,結構體Node表示二叉樹節點,其中left指向左孩子,right指向右孩子;完成函數f的實現,參數root表示二叉樹根節點指針,要求函數f返回該樹的深度,提示可用先序遍歷。

答案:

int f(const Node *root){ if(root==NULL)

return 0;int l=f(root->left);int r=f(root->right);return l>r?l+1:r+1;} 9)題9 代碼中,結構體Node表示二叉樹節點,其中left指向左孩子,right指向右孩子;完成函數f的實現,參數root表示二叉樹根節點指針,要求函數f釋放該樹全部節點占用的內存(假設節點內存來自堆區),提示可用后序遍歷。

答案:

int f(Node *root){ if(root==NULL)

return;f(root->left);f(root->right);free(root);} 10)題10 代碼中,結構體Node表示單鏈表的節點,data是整型數據域,next是指向后繼的指針;完成函數f的實現,參數head是某鏈表的頭節點,參數x表示一個整數,要求函數f返回鏈表中數據域大于x的節點的個數。答案:

int f(Node *head, int x){ Node *p;intcnt=0;for(p=head;p!=NULL;p=p->next)

if(p->data>x)

cnt++;return cnt;} 11)題11 完成函數f的實現,參數n表示正整數,參數a表示二維數組首地址,a表示的二維數組用于存儲n個系欸但有向圖的鄰接矩陣,a[i][j]==1時表示節點i到節點j有邊,函數f需要返回有向圖中出度大于入度的頂點的個數。

答案:

int f(int n, const _Bool a[n][n]){ inti, j, cnt=0;for(i=0;i

int in=0, out=0;

for(j=0;j

if(a[j][i])

in++;

if(a[i][j])

out++;

if(out>in)

cnt++;} return cnt;} 12)題12 完成函數f的實現,參數n表示正整數,參數a表示一個一位數組首地址,i表示一個正整數(0<=i

int f(int n, const _Bool a[], inti){ int j, k=0;int m=n-i;for(j=0;j

k+=(n--);intcnt=0;for(j=k;j

if(a[j])

cnt++;return cnt;} 13)題13 完成函數f的實現,參數s表示字符串首地址,字符串中僅有‘(’和‘)’,函數f返回一個布爾值,當字符串中的‘(’和‘)’恰好匹配時返回真,否則返回假。

答案:

_Bool f(const char *s){

} int stack=0, i;//stack表示棧,stack=0時???for(i=0;s[i]!='

主站蜘蛛池模板: 97精品伊人久久大香线蕉| 囯产精品久久久久久久久久| 亚洲欧美日韩综合在线丁香| 国产香蕉视频在线播放| 97午夜理论片在线影院| 亚洲日韩精品看片无码| 牲欲强的熟妇农村老妇女| 精品无码av一区二区三区不卡| 亚洲熟妇中文字幕日产无码| 国产无套露脸在线观看| 精品无人区卡一卡二卡三乱码| 亚洲国产成人精品无码区一本| 精品国产aⅴ无码一区二区| 国产精品成人观看视频| 欧美人与动牲交大全免费| 一本色道久久综合亚洲精品| 99久久综合狠狠综合久久止| av国産精品毛片一区二区三区| 亚洲欧洲日产国码高潮αv| 在线播放免费人成视频在线观看| 亚洲国产高清av网站| 痉挛高潮喷水av无码免费| 久久久久久成人综合网| 少妇高清一区二区免费看| 闺蜜张开腿让我爽了一夜| 国内精品免费久久久久电影院97| 日本成片区免费久久| 久久九九日本韩国精品| 浪潮av激情高潮国产精品| 一区二区三区在线观看亚洲电影| 久久久午夜精品福利内容| 长腿校花无力呻吟娇喘的视频| 国产精品国产三级在线专区| 中文无码制服丝袜人妻av| 风韵丰满熟妇啪啪区老老熟妇| 成人欧美一区二区三区黑人| 亚洲日本va中文字幕久久| 色先锋影音岛国av资源| 麻豆人人妻人人妻人人片av| 亚洲午夜性猛春交xxxx| 日本少妇毛茸茸高潮|