-
我不知道你的具體問題在哪裡,只是看到你的鍊表不能連線在一起。
更改了一點:包括
#include
#include
using namespace std;
#define null 0
typedef struct linknodeint data;
struct linknode *next;
node;void createlist()
node*s,*head,*p;
int z,x;
z=1; x=0;
head=null;
p=head;
while(z)
scanf("%d",&x);
if(x!=0)
s=(node*)malloc(sizeof(node));
s->data=x;
s->next = null; //
if(!head)
head=s; else
接下來的操作是先將p指向新的觸點S,然後讓s觸點指向頭節點頭,最後讓作為頭節點的頭指標指向新的頭觸點S,(S指向P指向新觸點S)。
兩個頭都= p
p=s; /s->next=null;
s->next = head;
head = p;
else z=0;
列印結果。 p = head;
while(p != null){
cout next;
main()
createlist();執行結果:
press any key to continue .
-
這是乙個問題。 我不知道。
-
如果有 n 個數字,您應該多次比較 nx(n-1) 2。 5 個數字是 5x4 2=10 倍,7 個數字是 7x6 2=21 倍。
-
很簡單,因為當t=(m*n)3-1時,三元組方法所占用的空間和普通儲存方法所占用的空間一樣大,而且不小,所以沒有意義的。 而且別忘了:為了方便稀疏距離矩陣的整體資訊,在使用三元組方法時,一定要設定乙個額外的節點,即要用n個1個節點來儲存乙個有n個非零元素的稀疏距離矩陣,多出來的節點用來儲存總行數, 矩陣的列和非零元素。
-
對於具有 n 個節點的單鏈表,在引用 p 的已知點之後插入新節點的時間複雜度為 1,在給定值 x 之後插入新節點的時間複雜度為 (n+1) 2。
在長度為 n 的線性順序表中,刪除值為 x 的元素時,需要比較元素並移動元素的總次數為 n 次。
-
1 原始序列分為 5 個序列,第一段:25、50。 第2段:
15,35。第3段:第80、85段。
第4段:20、40。 第5段:
36,70。第1段和第2段合併,結果是:第15、25、35、50段。
第3款和第4款合併的結果是:第20、40、80、85款。 第5段被挑出來,並按原樣轉載。
2 你的回答是正確的。 對於 7 6.
3 順序表是指線性表的順序儲存結構,順序儲存結構與順序表不同,對於樹、二叉樹和圖,也有順序儲存結構。 因此,問題中的陳述是錯誤的。
-
c,對。 676+(676-644)/2
a[2][2] 是來自 a[0][0] 的 2 個元素的兩行零,而 a[3][3] 是來自 a[2][2] 的 1 個元素的一行零,因為元素的位址是連續的。
因此,a[2][2] 和 a[0][0] 之間的位址差異是 a[3][3] 和 a[2][2] 之間的位址差異的兩倍。
a[2][2] 和 a[0][0] 之間的位址差是 676-644a[3][3],a[2][2] 是 (676-644) 2,所以 a[3][3] 的位址是 676+(676-644) 2
-
C 不正確,鍊表是一種順序儲存方法,它使用動態分配的記憶體,而不是連續儲存區域。