#include using namespace std; class Fu { double datapayload; Fu *next; public: Fu *insert_sorted(Fu *); void print() { cout << datapayload << endl; if(next) next->print(); } Fu(double d) { datapayload = d; next = NULL; } }; /* * insert, and return a pointer to the resulting list */ Fu * Fu::insert_sorted(Fu *x) { if(x->datapayload > datapayload) { // goes after me if (next != NULL) next = next->insert_sorted(x); else next = x; return this; } else { // goes before me x->next = this; return x; } } int main() { Fu *mylist; mylist = new Fu(7.3); mylist = mylist->insert_sorted(new Fu(3.8)); mylist = mylist->insert_sorted(new Fu(6.4)); mylist->print(); }