對值遞增有序的單鏈表進行以下操作:若表中存在值為x的結點,則將它從表中刪除;否則,就往表中插入乙個值為x的結點,並保持錶值遞增有序的性質不變(假設表中沒有值相同的元素)。處理後若為空表則不輸出。
每組資料報括3行,第一行表示單鏈表的長度n(0<=n<50);第二行表示單鏈表的所有元素;第三行表示x值。
輸出執行操作後的單鏈表,元素之間用乙個空格分隔。
51 3 5 7 935
1 3 5 7 9
4
1 5 7 91 3 4 5 7 9
#include#include#includeusing namespace std;
struct node ;
class list
void creat(int n)
r->next=null;
}int fineindex(int data)
return count+1;
}int delete(int index)
if(p->next)
return data;
}void insert(int data)
node* s=new node;
s->data=data;
s->next=p->next;
p->next=s;
}~list()
}void print()
node* p=head->next;
while(p->next)
coutt) else
list->print();
delete list;
// }
}return 0;
}
單鏈表按k值重新排序
題目要求 給定一煉表頭節點,節點值型別是整型。現給一整數k,根據k將鍊錶排序為小於k,等於k,大於k的乙個鍊錶。對某部分內的節點順序不做要求。思路 將鍊錶分為小於k 等於k 大於k的三個鍊錶,然後再合併。鍊錶結點定義 typedef struct node node,pnode 演算法 pnode ...
單鏈表的建立,查詢 按值查詢 ,銷毀,列印
單鏈表是資料結構中較為 簡單 的一部分,但是它卻是很重要的一部分。二叉樹,線索二叉樹,雜湊函式等等的相關操作都離不開鍊錶,因此搞懂單鏈表顯得尤為重要。下面是我對鍊錶簡單操作的一些理解。本文中所有鍊錶 均無頭結點,ppfirst指的是首元結點 首先,單鏈表的本質得先清楚。單鏈表是一種鏈式儲存的線性表。...
在單鏈表按公升序插入乙個值
演算法要求 在單鏈表按公升序插入乙個值。成功插入返回1,已存在返回0,插入失敗返回 1。結點結構 typedef struct node node c語言新手寫單鏈表的有序插入演算法可能會寫出下面的演算法 int list insert node list,int value 已存在,返回0 if ...