由於c++才看了一點,所以基本都用的c語言實現,哈哈哈,以下程式在vs2010上執行通過,否則我怎麼敢放上來呢!!!
/*有乙個順序表l,其元素為整型資料,設計一演算法,將l中所有小於表頭元素的整數
放在前半部分,大於表頭元素的整數放在後半部分,陣列下標1開始儲存
*/#include
using
namespace
std;
#define maxsize 9//千萬不能加分號
typedef
struct sqstack;
void move(sqstack &l)
while(i//i動直到值給了j所在元素
if(iint main()
,8};//花括號只能用於初始化,不能用於賦值
move(l);
for(int i=1;i<=l.length;++i)
cout
0; }
這個題花了好久啊,沒學到快排呢!!!
/*此程式對應資料結構高分筆記上的題目
/*設計演算法,從給定的順序表中刪除重複的結點
*/#include
using namespace std;
typedef struct lnodelnode;
/*建立鍊錶程式*/
void creatlistr(lnode *&c,int a,int n)//要改變的變數用引用值 ,c是乙個空鍊錶,位址?
r->next=null;
}/*刪除鍊錶重複值*/
void deletecf(lnode *l)
else
}}|/*列印鍊錶的值*/
void print(lnode *l)
}int main()
; creatlistr(c,a,8);
print(c);
deletecf(c);
print(c);
}
把考研書上的演算法拿來程式實現,估計除了我也沒誰了 。。。。
/*設計乙個演算法刪除乙個單鏈表l(有頭結點)中的最小值結點*/
#include
using namespace std;
typedef struct lnodelnode;
typedef structsput;
/*建立鍊錶
*/void creatlistr(lnode *&c,int a,int n)
}/*找到最小值結點
*/int findmin(lnode *l,sput &temp)
p=p->next;
}
return temp.index;//返回最小值索引
}/*刪除最小值結點*/
void deletemin(lnode *&l,int i)
q=p->next;
p->next=p->next->next;
free(q);
}/*列印*/
void print(lnode *l)
}int main()
; int
x; sput temp;
creatlistr(c,a,7);
print(c);
x=findmin(c,temp);
cout
}
/*設計一演算法將已 經有的鍊錶逆序*/
void reversel(lnode *l)
}//最後p的結點為空,迴圈停止,此時最後乙個已經移動過了
這樣的順序比較合理,確定最後乙個結點,就是之前的開始結點,然後利用pq向後移動,知道遇見null,說明移動的夠了,乙個個的向前插入
void reversel(lnode *l)
}
資料結構與演算法 演算法 演算法和資料結構
資料結構與演算法 演算法 好吧,在這裡,您被優秀或優秀的軟體開發人員所隔開。在這種情況下,我會告訴您一開始或至少在我的情況下,並且我知道大多數時候,對於我認識的大多數人,您會覺得自己是乙個無能的人或白痴。基本上,我怎麼可能不理解這一點,然後您會感到沮喪。在這種情況下,我會告訴您情況並不像您想的那麼糟...
資料結構 資料結構與演算法01
1 求一組整數中的最大值。演算法 基本操作是 比較兩個數的大小 模型 仔細想想 你並不知道這個整數到底是多大?整數過大你該怎麼去表示?2 足協的資料庫管理的程式 演算法 需要管理的專案?如何管理?使用者介面?模型 3 資料與資料結構 資料 所有能被輸入到計算機中,並被計算機處理的符號的集合計算機操作...
資料結構 資料結構與演算法02
1 演算法設計的原則 設計演算法時,通常應考慮達到以下目標 1,正確性 2,可讀性 3,健壯性 4,高效率與低儲存量需求 1,正確性 規格說明 四個層次 a,程式中不含語法錯誤 b,程式對於幾組輸入資料能夠得出滿足要求的結果 c,程式對精心選擇的 典型 苛刻切帶有刁難性的幾組輸入資料能夠得出滿足要求...