急求数据结构算法(程序吧)……三个随便选一个1.单部电梯运行模拟2.停车场管理系统3.排序……第三

\u4e24\u4e2a\u6570\u636e\u7ed3\u6784\u7b97\u6cd5\u9898\u3002\u3002\u6025\u6c42\u3002\u3002\u8c22\u8c22\u554a

1.\u94fe\u8868\u662f\u6709\u5e8f\u7684\uff0c\u73b0\u5728\u5220\u9664\u6570\u636ex\uff0c\u82e5x\u4e0d\u5b58\u5728\uff0c\u8f93\u51fa\u4e00\u6bb5\u63d0\u793a\u4fe1\u606f\u3002
---------------------------------------
\u6709\u5934\u7ed3\u70b9\uff1a
deletenode(Linklist L, datatype x) //L\u5c31\u662f\u5934\u8282\u70b9\u5730\u5740
{
int success=0;
node *temp,*p;
p=L;
while(p->next!=NULL)
{
if(p->next->data==x) //\u5982\u679cP\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u6570\u636e\u662fX
{
temp=p->next; //\u628aP\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u5730\u5740\u4ea4\u7ed9TEMP
p->next=p->next->next; //\u8de8\u8fc7p->next\u91cd\u65b0\u628a\u94fe\u6761\u63a5\u597d
free(temp); //\u91ca\u653e\u7ed3\u70b9temp\u7684\u5360\u7528\u7684\u5185\u5b58\u7a7a\u95f4
success=1;
}
else p=p->next; //\u5982\u679c\u4e0d\u662f\u5c31\u63a5\u7740\u5f80\u4e0b\u4e00\u4e2a\u770b
}
if(int success==0) printf("\u672a\u627e\u5230\u5305\u542bx\u7684\u5143\u7d20"\uff09;
}

--------------------------------------
\u6ca1\u5934\u8282\u70b9\uff0c\u5c31\u662f\u4e00\u4e2a\u5934\u5c3e\u76f8\u8fde\u7684\u5faa\u73af\u94fe\u8868

deletenode(Linklist L, datatype x) //L\u5c31\u662f\u968f\u4fbf\u4e00\u4e2a\u7ed3\u70b9\u7684\u5730\u5740
{
int success=0;
node *temp,*p;
p=L;
while(p->next!=L) //\u4e0e\u6709\u5934\u8282\u70b9\u4e0d\u540c\u4e4b\u5904\uff0c\u5224\u65ad\u5faa\u73af\u7684\u6761\u4ef6
{
if(p->next->data==x) //\u5982\u679cP\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u6570\u636e\u662fX
{
temp=p->next; //\u628aP\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u5730\u5740\u4ea4\u7ed9TEMP
p->next=p->next->next; //\u8de8\u8fc7p->next\u91cd\u65b0\u628a\u94fe\u6761\u63a5\u597d
free(temp); //\u91ca\u653e\u7ed3\u70b9temp\u7684\u5360\u7528\u7684\u5185\u5b58\u7a7a\u95f4
success=1;
}
else p=p->next; //\u5982\u679c\u4e0d\u662f\u5c31\u63a5\u7740\u5f80\u4e0b\u4e00\u4e2a\u770b
}
if(int success==0) printf("\u672a\u627e\u5230\u5305\u542bx\u7684\u5143\u7d20"\uff09;
}


2.\u7ebf\u6027\u8868v\u7684\u6570\u636e\u9012\u589e\u6709\u5e8f\uff0c\u8bd5\u5c06x\u63d2\u5165\u8868\u4e2d\u5e76\u4fdd\u6301\u6709\u5e8f\u6027
============================================================
\uff081\uff09 \u987a\u5e8f\u8868\u8868\u793a
seqadd(seqlist L,datatype x)
{
int i=L->length-1; //i\u5c31\u662f\u90a3\u4e2a\u5143\u7d20\u7684\u6807\u8bb0
while(L->elem[i]>=x) //\u4ece\u540e\u9762\u5f00\u59cb\u5faa\u73af\u76f4\u5230x>elem[i]
{
L->elem[i+1]=L->elem[i];//\u5c06\u540e\u9762\u5927\u4e8ex\u7684\u5143\u7d20\u5168\u90e8\u540e\u79fb\u4e00\u4e2a\u5355\u4f4d
i--;
}
}
\uff082\uff09\u94fe\u8868\u8868\u793a
-------------------\u6709\u5934\u8282\u70b9------------------
linkadd(Linklist L,datatype x)
{
node *temp,*p,*r;
p=L;
while(p->next!=NULL)
{
if(p->next->data>=x) //\u5982\u679cP\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u6570\u636e\u5927\u4e8e\u7b49\u4e8ex
{
temp=(node *)malloc(sizof(node)); //\u7533\u8bf7\u4e00\u4e2a\u5185\u5b58\u7a7a\u95f4\u6765\u653ex
temp->data=x;
r=p->next;//\u7528r\u6682\u65f6\u4fdd\u7ba1p->next
p->next=temp; //\u65ad\u6389\u94fe\u8868\uff0c\u5c06p\u63a5\u5230x\u4e0a
temp->next=r; //\u628a\u63d2\u5165\u7684x\u518d\u63a5\u4e0a\u4e0a\u9762\u7684\u65ad\u94fe
break;//\u63a5\u597d\u5c31\u8df3\u51fa\u5faa\u73af\uff0c\u7ed3\u675f\u4efb\u52a1
}
else p=p->next; //\u5982\u679c\u4e0d\u6ee1\u8db3\u6761\u4ef6\u5c31\u63a5\u7740\u5f80\u4e0b\u4e00\u4e2a\u8282\u70b9\u770b
}
}
-------------------\u65e0\u5934\u8282\u70b9-------------------

linkadd(Linklist L,datatype x)
{
node *temp,*p,*r;
p=L;
while(p->next!=L)
{
if(p->next->data>=x) //\u5982\u679cP\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u6570\u636e\u5927\u4e8e\u7b49\u4e8ex
{
temp=(node *)malloc(sizof(node)); //\u7533\u8bf7\u4e00\u4e2a\u5185\u5b58\u7a7a\u95f4\u6765\u653ex
temp->data=x;
r=p->next;//\u7528r\u6682\u65f6\u4fdd\u7ba1p->next
p->next=temp; //\u65ad\u6389\u94fe\u8868\uff0c\u5c06p\u63a5\u5230x\u4e0a
temp->next=r; //\u628a\u63d2\u5165\u7684x\u518d\u63a5\u4e0a\u4e0a\u9762\u7684\u65ad\u94fe
break;//\u63a5\u597d\u540e\u5c31\u8df3\u51fa\u5faa\u73af\uff0c\u7ed3\u675f\u4efb\u52a1
}
else p=p->next; //\u5982\u679c\u4e0d\u6ee1\u8db3\u6761\u4ef6\u5c31\u63a5\u7740\u5f80\u4e0b\u4e00\u4e2a\u8282\u70b9\u770b
}
}


\u65f6\u95f4\u4ed3\u4fc3\uff0c\u5efa\u8bae\u697c\u4e3b\u53ef\u4ee5\u52a0if\u5b8c\u5584\u4e0b\u7a7a\u8868\u629b\u51fa\u7684\u5f02\u5e38\uff0c\u53ef\u5f97\u9ad8\u5206

\u8fd9\u662f\u6570\u636e\u7ed3\u6784\u4e66\u672c\u4e0a\u7684\u7a0b\u5e8f,\u4f60\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b:
#include
void main()
{
int Number;
int FibN=0;
int FibN1;
int FibN2;
int i;
printf("The Fibonacci Number \n");
printf("Please enter a number:");
scanf("%d",&Number);
if (Number<=1)
printf("Fibonacci Numbers of %d=1\n",Number);
else
{
FibN2=0;
FibN1=1;
for(i=2;i<=Number;i++)
{
FibN=FibN1+FibN2;
FibN2=FibN1;
FibN1=FibN;
}
printf("Fibonacci Numbers of %d=%d\n",Number,FibN);
}
}

int
depth(bitree
t)
//
计算二叉树的深度。
{
int
lchilddep,rchilddep;
if(t==0)

return
0;
else
{

lchilddep=depth(t-> lchild);

rchilddep=depth(t-> rchild);

if(lchilddep> rchilddep)

return
(lchilddep+1);

else

return
(rchilddep+1);
}
}
========================
int
maxlayerlength(bitree
t)
//
计算二叉树各层的结点数的最大值
{
bitree
queue[M],p=t;
//建立队列queue,为求简单,此处假设M足够大
int
front,rear;

//队首,队尾
int
max_length=0,

//最大层长
cur_length=0,

//当前层长
next_length=0;
//下一层长
if(t!=NULL){
front=rear=-1;
//队列初始化
queue[++rear]=t;
//根结点指针进队
max_length=cur_length=1;//层长初试化
next_length=0;

while(front <rear){
p=queue[++front];//出队,获取当前层一个结点
cur_length--;

if(p-> l!=NULL){
queue[++rear]=p-> l;//左孩子结点指针进队
next_length++;
}
if(p-> r!=NULL){
queue[++rear]=p-> r;//右孩子结点指针进队
next_length++;
}

if(cur_length==0){//进入下一层
cur_length=next_length;
if(cur_length> max_length)//更新最大层长
max_length=cur_length;
next_length=0;
}/*if*/

}/*while*/

}/*if*/
return
max_length;
}

  • 缁欐垜鍑犱釜鏁版嵁缁撴瀯鐨绋嬪簭
    绛旓細鎮ㄥ彲鍦╲c++6.0涓婅繍琛,鎴戞渶杩戜篃鍦ㄥ涔犳暟鎹粨鏋,杩欎簺绋嬪簭閮界粡杩囨垜鐨勮皟璇曚簡.鎯冲繀鎮ㄧ殑璇炬湰涔熸槸銆鏁版嵁缁撴瀯锛C璇█鐗堬級銆嬩弗钄氭晱缂栬憲鐨勫惂銆傚彲鑳藉瓨鍦ㄤ笉瓒充箣澶,甯屾湜澶у鑳藉鎸囧嚭,澶у鐩镐簰瀛︿範!!!//绾挎ц〃鐨勫姩鎬佸垎閰嶉『搴忓瓨鍌ㄧ粨鏋 include "stdlib.h"include "stdio.h"//鍑芥暟缁撴灉鐘舵佷唬鐮 define TURE 1 de...
  • 鍦ㄧ嚎绛墌鎬ユ眰鍐欎釜C璇█鏁版嵁缁撴瀯绋嬪簭!!!
    绛旓細鍐欎簡涓涓紝浠婂ぉ鐧惧害琚粦浜嗭紝鎬绘槸鎵撲笉寮銆傜幇鍦ㄤ紶缁欎綘鐪嬬湅閭e搱銆備唬鐮侀兘鏈夋敞閲婄殑锛岀浉淇′綘鑳界湅鏄庣櫧銆傚悗杈逛粯鏈夋祴璇鏁版嵁鍙婃祴璇曠粨鏋溿傛湁闂Hi鎴戝搱:)include <stdio.h> include <stdlib.h> include <malloc.h> include <string.h> /* 閾捐〃鑺傜偣缁撴瀯浣 */ typedef struct _Node { int data;struct _...
  • C++鏁版嵁缁撴瀯瀹炵幇!!鎬ユ眰!!!
    绛旓細= seat.end() ) {cout << *vit << " ";++vit;}cout << endl;system("pause");return 0;}" 瑗挎柟鏈夊彞璋氳锛氫笉瑕侀噸澶嶅彂鏄庤疆瀛愶紒STL鍑犱箮灏佽浜嗘墍鏈夌殑鏁版嵁缁撴瀯涓殑绠楁硶锛屼粠閾捐〃鍒伴槦鍒楋紝浠庡悜閲忓埌鍫嗘爤锛屽hash鍒颁簩鍙夋爲锛屼粠鎼滅储鍒版帓搴忥紝浠庡鍔犲埌鍒犻櫎...鍙互璇达紝濡傛灉浣犵悊瑙d簡STL锛屼綘浼氬彂鐜颁綘宸...
  • 鎬ユ眰鏁版嵁缁撴瀯瀹炰範棰樺搱澶浖缂栫爜绋嬪簭(瑕佹眰c璇█,娌″杩嘽++)
    绛旓細include <stdio.h>#define MAXBIT 100#define MAXVALUE 10000#define MAXLEAF 30#define MAXNODE MAXLEAF*2 -1typedef struct { int bit[MAXBIT]; int start;} HCodeType; /* 缂栫爜缁撴瀯浣 */typedef struct{ int weight; int parent; int lchild; int rchild;}...
  • 璁$畻鏈哄熀纭鏈鍏ㄨ嚜瀛︽寚鍗!
    绛旓細绠楁硶棰嗗煙鐨勭粡鍏稿弬鑰冧功,鍖呭惈浜嗙粡杩囧嚑鍗佸勾婕斿寲鑰屾垚鐨勭畻娉曟牳蹇冪煡璇嗕綋绯汇 涔︿腑璁茶В浜嗗绉嶇畻娉曞拰鏁版嵁缁撴瀯,璁╀綘鑳藉鍦ㄥ悇绉嶈绠楁満鐜涓嬪疄鐜般佽皟璇曞苟搴旂敤瀹冧滑銆 浣滀负绠楁硶棰嗗煙缁忓吀鐨勫弬鑰冧功,鍏ㄩ潰浠嬬粛浜嗗叧浜庣畻娉曞拰鏁版嵁缁撴瀯鐨勫繀澶囩煡璇,骞剁壒鍒拡瀵规帓搴忋佹悳绱佸浘澶勭悊鍜屽瓧绗︿覆澶勭悊杩涜浜嗚杩 绗4鐗堝叿浣撶粰鍑轰簡姣忎綅绋嬪簭鍛樺簲鐭ュ簲浼氱殑...
  • 璇风敤c++鍜鏁版嵁缁撴瀯绠楁硶缂栧啓浠ヤ笅绋嬪簭
    绛旓細鎴戠幇鍦ㄧ粰浣犱竴浠戒竴绉嶄笟鍔★紝鍥涗釜绐楀彛锛屼竴澶╁鎴锋暟宸茬煡鐨勬儏鍐碉紝姹傚鎴烽楃暀鐨勬椂闂寸殑绋嬪簭锛屽鏋滀綘鎯冲湪瀹㈡埛鏈煡鐨勬儏鍐典笅姹傞楃暀鏃堕棿锛屼綘灏辫嚜宸辫瀹氫竴涓摱琛屽紑銆佸叧闂ㄧ殑鏃堕棿锛屾湁浜涗笢瑗胯繕鏄鑷繁鍋氱殑锛屼笉瑕佹寚鏈涙墍鏈夌殑涓滆タ閮借鍒汉鎻愪緵缁欎綘锛沬nclude<iostream.h> include include<stdlib.h> include<malloc.h>...
  • 缂栫▼涓殑绠楁硶鏄粈涔,鏁版嵁缁撴瀯鏄粈涔,鎴栬呮湁鍝簺,鍚勪釜绋嬪簭璇█鏈変粈涔堝尯鍒...
    绛旓細灏辨槸纭畾浜嗕娇鐢ㄦ庢牱鐨勬柟寮忓幓缁勭粐浣犵殑杩欎簺瑕佽瀛樺偍鍦ㄨ绠楁満閲岀殑鏁版嵁锛岀劧鍚庡憿锛熷氨鏄綘瑕佹煡鎵句竴涓暟鎹憿锛熶綘瑕佸垹闄や竴涓憿锛熶綘瑕佸鏌愪簺鐗瑰畾鏁版嵁鍋氭煇浜涚壒瀹氱殑鎿嶄綔鍛紵杩欐槸灏辨槸绠楁硶鍚锛屽綋鐒惰繖鏄渶鐩存帴鍚嶄簡鐨勪簡锛岀畻娉曡繕鏄緢闅剧殑锛屾垜瑙夊緱銆備互涓婁釜浜哄鏁版嵁缁撴瀯涓庣畻娉曠殑璁よ瘑鍚э紝锛岋紝涓嶇煡璇寸殑娓呮櫚涓庡惁鍝 ...
  • 鏁版嵁缁撴瀯銆绠楁硶銆绋嬪簭:宸茬煡涓涓甫澶寸粨鐐圭殑鍗曢摼琛↙a,鍏朵腑瀛樻斁鐫涓缁勯潪...
    绛旓細妤间笂鐨勮浜嗗師鐞嗭紝鎴戣繕鏄粰涓涓繍琛岄氳繃鐨绋嬪簭浣犲惂銆傞亶鍘哃a锛屽ぇ浜庣瓑浜0鏀惧湪Lb锛屽叾浠栨斁鍦↙c銆俰nclude "stdafx.h"include <stdlib.h> include <stdio.h> typedef struct NODE { struct NODE *next;int data;} T_NODE;// 杈撳叆閾捐〃瀛樺偍 void InputData(struct NODE * pHead){ int count = 10;T_...
  • 杩欓亾鏁版嵁缁撴瀯棰樻庝箞鍋?
    绛旓細鍋囪瑕佹帓搴忕殑鏁扮粍鏄疉[1]鈥︹[N]锛岄鍏堜换鎰忛夊彇涓涓鏁版嵁锛閫氬父閫夌敤绗竴涓鏁版嵁锛浣滀负鍏抽敭鏁版嵁锛岀劧鍚庡皢鎵鏈夋瘮瀹冪殑鏁伴兘鏀惧埌瀹冨墠闈紝鎵鏈夋瘮瀹冨ぇ鐨勬暟閮芥斁鍒板畠鍚庨潰锛岃繖涓繃绋嬬О涓轰竴韬哄揩閫熸帓搴忋備竴韬哄揩閫熸帓搴忕殑绠楁硶鏄細1锛夈佽缃袱涓彉閲廔銆丣锛屾帓搴忓紑濮嬬殑鏃跺橧锛=1锛孞锛=N锛2锛変互绗竴涓暟缁勫厓绱犱綔涓...
  • 姹鏁版嵁缁撴瀯绠鍗绋嬪簭绠楁硶!閫佺Н鍒
    绛旓細璁炬寚閽坒irst鎸囧悜鍙屽悜閾捐〃鐨勭涓涓厓绱,鍩熶负num,second=first->next鎸囧悜绗簩涓厓绱 1.鑻irst->num姣攆irst->next->num灏忥紝璇存槑瀹冨凡缁忔槸鏈灏忕殑涓嶇敤鍙樺寲 2.鍚﹀垯锛 鎵惧埌閾捐〃涓瘮first->num灏忕殑鏈澶х殑涓涓暟鐨勪綅缃,骞舵彃鍏ュ埌鍏跺悗闈(鍙屽悜閾捐〃鐨勬彃鍏ワ紝涓嶇敤鍏蜂綋璇翠簡鍚)銆傚苟灏唖econd->pre璁句负null銆傛劅瑙...
  • 扩展阅读:初学编程必背50个 ... 数据结构计算公式 ... 万能计算器 ... 数据结构几种排序方法 ... 分数计算器 ... 数据结构十大经典算法 ... 数据挖掘十大算法 ... 数据结构折半查找算法 ... 数据结构算法设计题100题 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网