Is this C or C++? You've got a lot of mixed language constructs there. You use iostreams, and then you do a typedef struct. struct is a type declaration in C++. It's a bit confusing.
Why use an infinite loop at line 13 rather than construct a proper for loop?
I recommend using more whitespace: proper indentation, spaces between operators, etc. And consider either putting underscores between words in your variable names (start_list, node_type, etc) or use CamelCase names (NodeType, startList, firstOne, etc). Legibility matters, especially when you ask others to read and comprehend your code.
I believe in year 2010, Standard C++ STL libraries has matured so much that we can safely remove the need to write our own linked list, doubly-linked list etc data structure. Unless our job is to work for companies that sell C++ STL then we can just use those STL containers direct isn't it ?
Yet I still see lots of code that go back way to the C days. Just a few thots.
I don't see any C++ code here other than the use of cout and new.
Consider making nodetype a class with a proper constructor and insert operator.
C++ is about data abstraction, which means hiding the implementation of the linked list.
data1 and linknode should be private members of the class. When you modify members outside of the class, you make things harder to understand and harder to debug. i.e. main should not know anything about members of nodetype.