資源簡介
數據結構的順序棧的逆置和合并
頭部如下
/* 實驗4-1的C語言參考程序如下: */
# include "stdio.h"
# define DATATYPE1 int
# define MAXSIZE 100
typedef struct
{ DATATYPE1 datas[MAXSIZE];
int last;
}SEQUENLIST;
代碼片段和文件信息
/*??實驗4-2的C語言參考程序如下:?*/
#include?“stdio.h“
#define?DATATYPE1???int
#define??MAXSIZE????100
typedef??struct
{?DATATYPE1??datas[MAXSIZE];
??int???last;
}SEQUENLIST;
void?create(SEQUENLIST?*a?)
{??/*??建立順序表,數據元素從鍵盤輸入,數據之間用空格隔開,0為輸入結束標志*/
???int??ix;
???printf(“輸入表中整數,整數之間用空格隔開,0為輸入結束標志:“);
???i=1;
???scanf(“%d“&?x);
???while?(x!=0){
??????a->datas[i-1]=x;
??????i++;
??????scanf(“%d“&?x);
???}
???(*a).last=i-1;
}
void?print(SEQUENLIST?*a?)
{/*?顯示順序表元素?*/
???int??i;
???i=1;
???printf(“線性表中的元素為:?“?);
???while?(i<=a->last)
??????{
??????????printf(“%d?“?a->datas[i-1]);
??????????i++;
???????}
???printf(“\n表長?n=%d?\n“a->last);
?}
int??insert?(SEQUENLIST?*a??DATATYPE1?new_data??int??i)
/*????將新元素new_data插在順序表a的第i?(1?≤?i?≤?a.last?+?1)個元素的前面?*/
{
????int??k;
?????if?(i?1?||?i?>?(*a).last?+?1?||?(*a).last?>=?MAXSIZE)
????????return?0;
?????else
?????{
?????????for?(k?=?(*a).last?;?k?>=?i?;?k?--)
- 上一篇:眨眼次數測定
- 下一篇:生命游戲MPI并行實現
評論
共有 條評論