題目鏈結
利用c++做:
將結點用list[10000]儲存,list為node型別,node中儲存結點的值value和它的next位址。list的下標就是結點的位址。將<0、0~k、>k三部分的結點位址分別儲存在v[0]、v[1]、v[2]中,最後將vector中的值依次輸出
#pragma warning(disable:4996);
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
struct
list[
100000];
//利用位址做元素下標存值;
vector <
int> v[3]
;//分別來訪問值在<0 0-k >k 的元素節點位址;
//vectorv[3]是3行的二維陣列,
//你可以理解為,int arr[3]是建立乙個3個元素的一維陣列,
//每個元素是乙個int。
//那麼vectorv[3]就是建立乙個有三個元素的陣列,
//每個元素是乙個vector。vectorv(3)是3個元素的一維陣列
intmain()
int p = start;
while
(p !=-1
)int flag =0;
//控制格式
for(
int i =
0;i <
3;i++
)else
//printf("%05d %d %05d\n", v[i][j], list[v[i][j]].data, list[v[i][j]].next);不能這麼寫因為最後乙個節點位址是-1,
//而我們實際並沒有存,因為不是乙個下標,而這樣寫,會導致最後乙個節點下移位址隨意輸出乙個值}}
printf
("-1");
//單獨控制輸出;
return0;
}
c語言:
#pragma warning(disable:4996);
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct
list[
100000];
//利用位址做元素下標存值;
//vector v[3];//分別來訪問值在<0 0-k >k 的元素節點位址;
//vectorv[3]是3行的二維陣列,
//你可以理解為,int arr[3]是建立乙個3個元素的一維陣列,
//每個元素是乙個int。
//那麼vectorv[3]就是建立乙個有三個元素的陣列,
//每個元素是乙個vector。vectorv(3)是3個元素的一維陣列
int v[3]
[100000];
intmain()
int p = start;
int t1, t2, t3;
//用來賦值;
t1 = t2 = t3 =0;
while
(p !=-1
)int flag =0;
//控制格式
//不能像上面那麼寫了,得拆開分別輸出;
for(
int j =
0;j < t1;j++
)else
//printf("%05d %d %05d\n", v[i][j], list[v[i][j]].data, list[v[i][j]].next);不能這麼寫因為最後乙個節點位址是-1,
//而我們實際並沒有存,因為不是乙個下標,而這樣寫,會導致最後乙個節點下移位址隨意輸出乙個值
}for
(int j =
0;j < t2;j++
)else
//printf("%05d %d %05d\n", v[i][j], list[v[i][j]].data, list[v[i][j]].next);不能這麼寫因為最後乙個節點位址是-1,
//而我們實際並沒有存,因為不是乙個下標,而這樣寫,會導致最後乙個節點下移位址隨意輸出乙個值
}for
(int j =
0;j < t3;j++
)else
//printf("%05d %d %05d\n", v[i][j], list[v[i][j]].data, list[v[i][j]].next);不能這麼寫因為最後乙個節點位址是-1,
//而我們實際並沒有存,因為不是乙個下標,而這樣寫,會導致最後乙個節點下移位址隨意輸出乙個值
}printf
("-1");
//單獨控制輸出-1;
return0;
}
1075 鍊錶元素分類
給定乙個單鏈表,請編寫程式將鍊錶元素進行分類排列,使得所有負值元素都排在非負值元素的前面,而 0,k 區間內的元素都排在大於 k 的元素前面。但每一類內部元素的順序是不能改變的。例如 給定鍊錶為 18 7 4 0 5 6 10 11 2,k 為 10,則輸出應該為 4 6 2 7 0 5 10 18...
1075 鍊錶元素分類 25
給定乙個單鏈表,請編寫程式將鍊錶元素進行分類排列,使得所有負值元素都排在非負值元素的前面,而 0,k 區間內的元素都排在大於k的元素前面。但每一類內部元素的順序是不能改變的。例如 給定鍊錶為 18 7 4 0 5 6 10 11 2,k為10,則輸出應該為 4 6 2 7 0 5 10 18 11。...
1075 鍊錶元素分類 25
給定乙個單鏈表,請編寫程式將鍊錶元素進行分類排列,使得所有負值元素都排在非負值元素的前面,而 0,k 區間內的元素都排在大於k的元素前面。但每一類內部元素的順序是不能改變的。例如 給定鍊錶為 18 7 4 0 5 6 10 11 2,k為10,則輸出應該為 4 6 2 7 0 5 10 18 11。...