用c語言去實現線性表的合併,刪除重複(不重新排序)

2021-10-24 13:21:44 字數 1524 閱讀 8345

#include #define maxside 100 

void listoutput(int *a,int *b , int m)

} for( k = 0,h = 0 ; *(a + k) != 0 ; k++)

if(k != c[h])//當b裡面的值的序號不等於剛剛提取出來的,在a的實際儲存長度後,儲存b的值

*( b + m + k) = *( a + k );

else h++;

}int listlength(int *a) //返回a實際儲存長度

int main()

,b[maxside] = , n , m ;

m = listlength(a) ;

listoutput(b , a , m);

for (n = 0; n<6; n++)//迴圈輸出a的值

printf("%d\n", a[n]);

return 0;

}

老師課後給的標準答案是c++,我跑了一遍,感覺老師的程式兼職太精妙了,c++看不懂的可以查一下簡單的運算子,然後看看思路,下面附上!

#includeusing namespace std;

#define maxsize 100

#define ok 1

#define error -1

#define overflow -2

typedef int status;

typedef struct sqlist;

status initlist_sq(sqlist &l)

int getlength(sqlist l) // 求長度

int getelem(sqlist l, int i, int &e) // 獲取元素值

int locateelem(sqlist l,int e) // 查詢

status listinsert_sq(sqlist &l,int i ,int e) // 第i個元素前插入

/* status listinsert_sq(sqlist &l, int i , int e) */

void listoutput(sqlist l) // 輸出順序表的元素值

void mergelist(sqlist &la, sqlist lb) // 求並集

}}main()

listoutput(la);

cout

listinsert_sq(lb,i,e);

}listoutput(lb);

mergelist(la,lb);

listoutput(la);

}

還是執行截圖~

1、希望這些**可以給大家帶來幫助

2、希望大佬可以對我的**指點一下

3、這是我的第一篇部落格,希望以後我可以堅持下去

合併鍊錶 線性表 C語言

今天寫寫鍊錶,新學的,啊 這。有點難。題目要求 線性表 假設有兩個按元素值遞增次序排列的線性表,均以單鏈表形式儲存。請編寫演算法將這兩個單鏈表歸併為乙個按元素值遞減次序排列的單鏈表,並要求利用原來兩個單鏈表的結點存放歸併後的單鏈表。先上 include include typedef struct ...

C語言線性表的實現

define ok 1 define error 0 define true 1 define false 0 include include 線性鍊錶的實現 adt 線性表 list data operation creatlist l 初始化操作,建立乙個空的線性鍊錶l。listempty l ...

實現線性表的遍歷查詢插入刪除合併

資料結構 書上給的 僅僅是 在某個特定的位置 插入 某乙個元素。那樣不是 線性表的要求。申請動態記憶體空間神馬的 真費勁,不熟練。include include include include include include include include include include inclu...